用于vNext中的静态HTML的CORS

时间:2015-06-18 11:59:59

标签: cors asp.net-core asp.net-core-mvc

我有一个在Visual Studio 2015 RC中运行的MVC6站点

我有一些静态HTML文件,我想提供给另一个网站。我想添加CORS支持(无需添加控制器并以这种方式添加CORS)。

有人知道怎么做吗?

2 个答案:

答案 0 :(得分:6)

在Startup.cs

在ConfigureServices中配置策略...

    public void ConfigureServices(IServiceCollection services)
    {
            options.AddPolicy("AllowEverything", builder =>
            {
                builder.AllowAnyOrigin().AllowAnyHeader().AllowAnyMethod().AllowCredentials();
            });
    }

然后在Configure中设置应用程序以使用该策略,然后设置UseStaticFiles ...

确保在UseCors之后使用UseStaticFiles() - 至少在我使用的版本(随Visual Studio 2015 RC安装)中,它需要在UseCors()之后出现

    public void Configure(IApplicationBuilder app, IHostingEnvironment env)
    {
        app.UseCors("AllowEverything");
        app.UseStaticFiles();
    }

答案 1 :(得分:3)

您需要允许服务器接受CORS。

app.UseCors(Microsoft.Owin.Cors.CorsOptions.AllowAll);

客户端(浏览器)必须知道服务器接受CORS,因为浏览器检查服务器响应中的允许Cors,如果允许或不允许Cors,那么它允许显示数据,即使它是静态的像纯HTML一样的内容。