【发布时间】:2020-11-24 12:46:11
【问题描述】:
我按照以下步骤解决 CORS 问题。
1.使用 nuget 安装 Microsoft.AspNet.WebApi.Cors。
2.在WebApiConfig.cs中添加以下代码
config.EnableCors(new EnableCorsAttribute("*", "*", "*"));
大部分 API 都可以使用。只有 oData API 仍然存在 CORS 问题。
如何解决 oData API 中的 CORS 问题?
编辑:
在 Global.asax 中输入下面的代码后,它就可以工作了。
protected void Application_BeginRequest(object sender, EventArgs e)
{
if (Context.Request.Path.Contains("odata/") && Context.Request.HttpMethod == "OPTIONS")
{
Context.Response.AddHeader("Access-Control-Allow-Origin", Context.Request.Headers["Origin"]);
Context.Response.AddHeader("Access-Control-Allow-Headers", "Origin, X-Requested-With, Content-Type, Accept");
Context.Response.AddHeader("Access-Control-Allow-Methods", "GET, POST PUT, DELETE, OPTIONS");
Context.Response.AddHeader("Access-Control-Allow-Credentials", "true");
Context.Response.End();
}
}
【问题讨论】: