2017-02-20 36 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问题,但它真的只是我们代码中的一个内部异常。

相关问题