我正在使用Angular和ASP.NET API。我面临的问题:当我在API代码中添加CORS时,它可以在Internet Explorer上运行,但不能在Chrome和Firefox上运行。
这是错误:
XMLHttpRequest cannot load http://localhost:41028/api/values/abc. The 'Access-Control-Allow-Origin' header contains multiple values '*, *', but only one is allowed. Origin 'http://localhost:44796' is therefore not allowed access.
这是我在
web.config
文件中添加的代码:
<system.webServer>
...
<httpProtocol>
<customHeaders>
<!-- Adding the following custom HttpHeader will help prevent CORS errors -->
<add name="Access-Control-Allow-Origin" value="*" />
<add name="Access-Control-Allow-Headers" value="Content-Type" />
</customHeaders>
</httpProtocol>
...
</system.webServer>
在
WebApiConfigFile.cs
文件中,我添加了:
var CorsAttribute = new EnableCorsAttribute("* ","* ", "* ");
config.EnableCors(CorsAttribute);
我是第一次使用CORS。任何帮助将不胜感激。
请您参考如下方法:
您要设置两次CORS。我认为这就是问题所在。
请删除任何一项CORS设置。您可以从web.config
或WebApiConfigFile.cs
删除它。