Asp.net ASP owin以某种方式覆盖CORS头,在哪里可以禁用此功能?

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

在API的选项响应中,我看到了以下内容:

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();
    });
}