3
私はASP .NETコアの自己ホストプロジェクトを持っています。私は静的フォルダからコンテンツを提供しています(問題ありません)。それは、問題なくクロスサイト画像を提供する(CORSヘッダが現れる)。ただし、JSONなどの一部のファイルタイプでは、CORSヘッダーが表示されず、クライアントサイトではコンテンツが表示されません。ファイルの名前をJSONXなどの不明なタイプに変更すると、CORSヘッダーで問題なく処理されます。 CORSヘッダーですべてを提供するにはどうしたらいいですか?ASP .NETコア:特定の静的ファイルタイプの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();
}
をそして次は私の設定
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 not available at instantiation time
var sfo = new StaticFileOptions() { ServeUnknownFileTypes = true, DefaultContentType = "application/octet-stream", RequestPath = "/assets"};
sfo.FileProvider = new PhysicalFileProvider(Program.minervaConfig["ContentPath"]);
app.UseStaticFiles(sfo);
app.UseMvc(routes =>
{
routes.MapRoute(
name: "default",
template: "{controller=Home}/{action=Index}/{id?}");
});
}
'app.UseStaticFiles(sfo)'の呼び出し後に 'app.UseCors(" CorsPolicy ")' *を呼び出した場合はどうなりますか? – haim770
私はちょうどそれをテストしました:CORSが後に来るならば、静的なファイルのどれもがCORSヘッダーを取得しません。 – Blake