vNext 中静态 HTML 的 CORS

CORS for static HTML in vNext

我在 Visual Studio 2015 RC

中有一个 MVC6 站点 运行

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

有人知道怎么做吗?

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

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

客户端(浏览器)必须知道服务器接受 CORS,因为浏览器会在服务器的响应中检查 Allow Cors,无论是否允许,然后它允许显示数据,即使它是纯静态内容 HTML.

在Startup.cs

在 ConfigureServices 中配置策略...

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

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

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

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