Asp.net ASP owin以某种方式覆盖CORS头,在哪里可以禁用此功能?
在API的选项响应中,我看到了以下内容:Asp.net ASP owin以某种方式覆盖CORS头,在哪里可以禁用此功能?,asp.net,http-headers,cors,owin,Asp.net,Http Headers,Cors,Owin,在API的选项响应中,我看到了以下内容: Access-Control-Allow-Origin:http://localhost:19600 我想要的是CORS全部启用,因此: Access-Control-Allow-Origin:* 我应该注意到它确实起了作用,但突然停止了作用。但我不知道为什么。 在我的OWIN启动配置中: app.UseCors(CorsOptions.AllowAll); var config = new HttpConfiguration(); WebApiCo
Access-Control-Allow-Origin:http://localhost:19600
我想要的是CORS全部启用,因此:
Access-Control-Allow-Origin:*
我应该注意到它确实起了作用,但突然停止了作用。但我不知道为什么。
在我的OWIN启动配置中:
app.UseCors(CorsOptions.AllowAll);
var config = new HttpConfiguration();
WebApiConfig.Register(config);
app.UseWebApi(config);
有人在另一个帖子中建议将app.UseCors(CorsOptions.AllowAll)放入app.UseCors
first会有帮助,但它没有
我发现有一种方法可以在
的Web.config
中创建自定义标题
我尝试添加行
,但这导致了两个标题,浏览器不接受。通过
删除没有效果(与添加一起也没有效果)
是否还有其他可以设置标题的地方是我忽略的?我设法找到了解决方法 我不知道这意味着什么,但它是有效的 将其添加到OWIN配置中
private static void ConfigureCORSHeader(IAppBuilder app)
{
app.Use(async (context, next) =>
{
var req = context.Request;
var res = context.Response;
res.Headers.Set("Access-Control-Allow-Origin", "*");
if (req.Method == "OPTIONS")
{
res.StatusCode = 200;
res.Headers.AppendCommaSeparatedValues("Access-Control-Allow-Methods", "GET", "POST", "DELETE");
res.Headers.AppendCommaSeparatedValues("Access-Control-Allow-headers", "authorization", "content-type");
return;
}
await next();
});
}