2017-02-20 35 views
1

我一直在用下面的問題所困擾,在過去幾天:的Web API 2 - CORS - 在調試工作,而不是在IIS中表達

我們有一個CORS實現一個Web API項目。

當我在本地運行項目,在調試模式下,一切正常。

當我嘗試將項目部署到本地IIS或者如果我停止在VS中進行調試時出現問題。 只要我努力使請求我收到以下錯誤:

No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin ' http://localhost:82 ' is therefore not allowed access.

爲了進一步anoy我,當我部署API我們蔚藍的環境,一切正常,我不明白的錯誤了。

這是我startup.cs我CORS配置:

public void Configuration(IAppBuilder app) 
{ 
    app.UseCors(buildCorsOptions()); 

    ConfigureAuth(app); 
} 

private static CorsOptions buildCorsOptions() 
{ 
    return new CorsOptions 
    { 
     PolicyProvider = new CorsPolicyProvider 
     { 
      PolicyResolver = context => 
      { 
       var corsPolicy = new CorsPolicy 
       { 
        AllowAnyHeader = true, 
        AllowAnyMethod = true, 
        SupportsCredentials = true 
       }; 

       //localhosts for debugging purposes 
       corsPolicy.Origins.Add("http://localhost"); 
       corsPolicy.Origins.Add("http://localhost:82"); 

       return Task.FromResult(corsPolicy); 
      } 
     } 
    }; 
} 

任何人有任何想法我可能會丟失?

回答

0

我找到了解決方案!

我們有一個端點返回了CORS有機會修改響應頭之前正在執行的異常。

這使得錯誤看起來像一個CORS問題,但它真的只是我們代碼中的一個內部異常。

相關問題