캐시 제어 헤더를 출력하기 위해 dotnet 코어 미들웨어를 구성했습니다. 모든 정적 콘텐츠를 캐시하려고하지만, 특히 여러 .png 파일을 캐시하려고합니다. 캐시 헤더은 이 출력되지 않습니까? dotnet core 1.1.1을 사용하고 있습니다.dotnet core 설정 캐시 제어가 적용되지 않음
public void Configure(IApplicationBuilder app, IHostingEnvironment env, ILoggerFactory loggerFactory)
{
loggerFactory.AddConsole(this.Configuration.GetSection("Logging"));
loggerFactory.AddDebug();
app.UseStaticFiles(new StaticFileOptions
{
OnPrepareResponse = _ =>
{
var headers = _.Context.Request.GetTypedHeaders();
headers.CacheControl = new CacheControlHeaderValue
{
MaxAge = TimeSpan.FromHours(12)
};
}
});
if (env.IsDevelopment())
{
app.UseDeveloperExceptionPage();
app.UseBrowserLink();
}
else
{
app.UseExceptionHandler("/Home/Error");
}
app.UseIdentity();
// Add external authentication middleware below. To configure them please see http://go.microsoft.com/fwlink/?LinkID=532715
app.UseMvc(routes =>
{
routes.MapRoute(
"default",
"{controller=Site}/{action=Site}/{id?}");
});
}
아래의 스크린 샷에서 볼 수 있듯이 코드가 무시되고 있습니다.
는 또한 명시 적으로이 같은 헤더를 추가하는 시도했다, 그러나 나는 헤더를 나타내는 오류가 이미 존재 얻을.
app.UseStaticFiles(new StaticFileOptions
{
OnPrepareResponse = _ =>
{
_.Context.Request.Headers.Add("Cache-Control", "public,max-age=60");
}
});
어떻게 든 먹을 것입니다. 중단 점을 설정하면 코드가 호출됩니다.
강제로 다시로드 했습니까? "디스크 캐시"라고하는 것 같습니다. 정보가 논리적 인 경우이 경우 서버에 요청하지 않았을 수도 있습니다. –
예, 스크린 샷을 새 것으로 바 꾸었습니다. 나는 또한 그것을 바이올린으로 검사했다. 어떻게 든 설정되지 않았다. 나는 살아있는 사이트를'www.webpagetest.org'로 테스트했는데, 헤더가 설정되어 있지 않음을 나타냅니다. – Jim
당신은 응답 헤더에 추가해야합니다. – levent