我有一个在Visual Studio 2015 RC中运行的MVC6站点
我有一些静态HTML文件,我想提供给另一个网站。我想添加CORS支持(无需添加控制器并以这种方式添加CORS)。
有人知道怎么做吗?
答案 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一样的内容。