【发布时间】:2017-07-09 20:32:23
【问题描述】:
过去几天我一直在努力解决以下问题:
我们有一个带有 CORS 实现的 Web API 项目。
当我在本地以调试模式运行项目时,一切正常。
当我尝试将项目部署到本地 IIS 或停止在 VS 中调试时,就会出现问题。 一旦我尝试提出请求,我就会收到以下错误:
请求的资源上不存在“Access-Control-Allow-Origin”标头。 Origin 'http://localhost:82' 因此不允许访问。
更让我恼火的是,当我将 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);
}
}
};
}
有人知道我可能会错过什么吗?
【问题讨论】:
标签: azure iis cors asp.net-web-api2 iis-express