vNext中静态HTML的CORS

vNext中静态HTML的CORS,cors,asp.net-core,asp.net-core-mvc,Cors,Asp.net Core,Asp.net Core Mvc,我在Visual Studio 2015 RC中运行了一个MVC6站点 我有一些静态HTML文件,我想服务于另一个网站。我想添加CORS支持(无需添加控制器并以这种方式添加CORS) 有人知道怎么做吗?您需要允许服务器接受CORS app.UseCors(Microsoft.Owin.Cors.CorsOptions.AllowAll); 客户端(浏览器)必须知道服务器接受CORS,因为浏览器在服务器的响应中检查是否允许CORS,然后允许显示数据,即使数据是静态内容,如纯HTML。在Start

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

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


有人知道怎么做吗?

您需要允许服务器接受CORS

app.UseCors(Microsoft.Owin.Cors.CorsOptions.AllowAll);
客户端(浏览器)必须知道服务器接受CORS,因为浏览器在服务器的响应中检查是否允许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()之后


感谢您抽出时间回答这个问题。当我发布这个问题时,我在想,将CORS策略分配给静态文件肯定有一些特殊的地方,但这只是代码的顺序,这是一个很重要的事实,对我来说,在UseCors之后有UseStaticFiles。这在官方文件中还不清楚(截至今天):是否有必要添加AllowCredentials?我有app.UseCors(builder=>{builder.AllowAnyOrigin();builder.AllowAnyHeader();builder.AllowAnyMethod();});它适用于动态内容,但不适用于静态文件。如有任何帮助,将不胜感激:/
    public void Configure(IApplicationBuilder app, IHostingEnvironment env)
    {
        app.UseCors("AllowEverything");
        app.UseStaticFiles();
    }