gpt4 book ai didi

c# - "The requested resource does not support http method ' 选项 '"使用 EnableCors 时

转载 作者:太空狗 更新时间:2023-10-29 19:56:49 26 4
gpt4 key购买 nike

我想在 Asp.net Web Api 中的一个特定操作上启用 CORS。以下是我正在努力做到的:

[Route("api/mycontroller/myaction")]
[HttpPost]
[EnableCors("https://example.com", "*", "post")]
public async Task<IHttpActionResult> MyAction()
{
...
}

但是当我向路由发送 OPTIONS 请求时,我收到错误消息:“请求的资源不支持 http 方法‘OPTIONS’。”我也尝试删除 [HttpPost] 注释无济于事。我错过了什么?

最佳答案

对我来说,我通过将以下代码添加到 Global.asax.cs 文件的 Application_BeginRequest 函数来将以下 header 添加到请求中:

protected void Application_BeginRequest()
{
if (Request.Headers.AllKeys.Contains("Origin", StringComparer.CurrentCultureIgnoreCase)
&& Request.HttpMethod == "OPTIONS")
{
Response.AddHeader("Access-Control-Allow-Headers", "content-type", "accept", "pragma", "cache-control", "authorization");
Response.End();
}
}

我不知道为什么会这样。出于好奇,我尝试使用星号添加所有 header ,但随后 Web API 提示缺少 Authorization header 。

关于c# - "The requested resource does not support http method ' 选项 '"使用 EnableCors 时,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45622548/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com