我需要为我的 Web API 启用 CORS,但无法升级到 Framework 4.5。
我尝试将以下内容添加到我的 Web.config 中以查看它是否有效,但没有成功:
<add name="Access-Control-Allow-Origin" value="*" />
<add name="Access-Control-Allow-Headers" value="Accept,Content-Type,X-Requested-With"/>
我正在访问网址http://localhost:8484/api/values/来自 ajax 调用
并出现以下错误
XMLHttpRequest 无法加载http://localhost:8484/api/values。对预检请求的响应未通过访问控制检查:请求的资源上不存在“Access-Control-Allow-Origin”标头。因此,不允许访问来源“null”。响应的 HTTP 状态代码为 405。
我通过 charanjit singh 找到了这个简单的解决方案。
它工作得很好,特别是如果您坚持使用旧版 Visual Studio 2010、.Net 4.0,当然还有 Web api 1。
基本上将此函数添加到您的 Global.asax.cs 中
protected void Application_BeginRequest(object sender, EventArgs e)
{
HttpContext.Current.Response.AddHeader("Access-Control-Allow-Origin", "*");
if (HttpContext.Current.Request.HttpMethod == "OPTIONS")
{
HttpContext.Current.Response.AddHeader("Access-Control-Allow-Methods",
"GET, POST, PUT, DELETE");
HttpContext.Current.Response.AddHeader("Access-Control-Allow-Headers",
"Content-Type, Accept");
HttpContext.Current.Response.End();
}
}
参考号链接:请注意,您必须滚动到底部评论才能找到答案。http://www.codeguru.com/csharp/.net/net_asp/using-cross-origin-resource-sharing-cors-in-asp.net-web-api.html
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)