Asp.net

‘Access-Control-Allow-Origin’ 標頭包含多個值 ‘*, *’,但只允許一個

  • April 8, 2015

我正在使用 Angular 和 ASP.NET API。我面臨的問題:當我在 API 程式碼中添加 CORS 時,它適用於 Internet Explorer,但不適用於 Chrome 和 Firefox。

這是錯誤:

XMLHttpRequest 無法載入<http://localhost:41028/api/values/abc>。“Access-Control-Allow-Origin”標頭包含多個值“”,但只允許一個值。因此,不允許訪問源“ http://localhost:44796 ”。

這是我在web.config文件中添加的程式碼:

&lt;system.webServer&gt;
...
&lt;httpProtocol&gt;
 &lt;customHeaders&gt;
     &lt;!-- Adding the following custom HttpHeader will help prevent CORS errors --&gt;
     &lt;add name="Access-Control-Allow-Origin" value="*" /&gt;
     &lt;add name="Access-Control-Allow-Headers" value="Content-Type" /&gt;
 &lt;/customHeaders&gt;
&lt;/httpProtocol&gt;
...
&lt;/system.webServer&gt;

WebApiConfigFile.cs我添加的文件中:

var CorsAttribute = new EnableCorsAttribute("* ","* ", "* ");
       config.EnableCors(CorsAttribute);

我是第一次使用 CORS。任何幫助將不勝感激。

您正在設置 CORS 兩次。我認為這就是問題所在。

請刪除任何一項 CORS 設置。您可以從web.config或從中刪除它WebApiConfigFile.cs

引用自:https://stackoverflow.com/questions/29524036