vNext中静态HTML的CORS
我在Visual Studio 2015 RC中运行了一个MVC6站点 我有一些静态HTML文件,我想服务于另一个网站。我想添加CORS支持(无需添加控制器并以这种方式添加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
有人知道怎么做吗?您需要允许服务器接受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();
}