我在Web API和ASP .NET MVC中的通用控制器中找到了大量关于CORS的资源.
但是,我的情况是,我希望特定文件夹中的所有静态资源(CSS和JS文件)也可以通过AJAX下载.换句话说,为这些资源或该文件夹启用CORS.
我怎么能做到这一点?我没有发现类似的问题.它们都与Web API或通用控制器相关.
我有一个 ASP .NET Core 自托管项目。我正在提供静态文件夹中的内容(没问题)。它可以毫无问题地跨站点提供图像(显示 CORS 标头)。但是,对于某些文件类型,例如 JSON,它们的 CORS 标头不会显示,并且客户端站点无法看到内容。如果我将文件重命名为未知类型(例如 JSONX),它会提供 CORS 标头,没问题。我怎样才能让这个东西用 CORS 标头服务所有东西?
我在 Startup.cs 中设置了以下 CORS 策略:
public void ConfigureServices(IServiceCollection services)
{
services.AddCors(options =>
{
options.AddPolicy("CorsPolicy",
builder => builder.AllowAnyOrigin()
.AllowAnyMethod()
.AllowAnyHeader()
.AllowCredentials() );
});
// Add framework services.
services.AddMvc();
}
Run Code Online (Sandbox Code Playgroud)
以下是我的配置
public void Configure(IApplicationBuilder app, IHostingEnvironment env, ILoggerFactory loggerFactory)
{
app.UseCors("CorsPolicy");
loggerFactory.AddConsole(Configuration.GetSection("Logging"));
loggerFactory.AddDebug();
if (env.IsDevelopment())
{
app.UseDeveloperExceptionPage();
app.UseBrowserLink();
}
else
{
app.UseExceptionHandler("/Home/Error");
}
// Static File options, normally would be in-line, but the SFO's file provider is …Run Code Online (Sandbox Code Playgroud)