Skip to main content
 首页 » 编程设计

asp.net之'Access-Control-Allow-Origin' header 包含多个值 '*, *',但只允许一个

2024年10月01日27yyy_WW

我正在使用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.configWebApiConfigFile.cs删除它。