在编写Cache-Control max-age Header属性的情况下,我想改善浏览器的缓存。 为此,我找到了这个有用的页面: https://www.meziantou.net/caching-static-resources-forever-with-asp-net-core.htm
但是在Server Side Blazor中尝试此操作时,整个应用程序将停止运行。
只要我使用以下代码(即使未过滤JS,也不会运行),Blazor应用程序将无法运行:
app.UseStaticFiles(new StaticFileOptions()
{
OnPrepareResponse =
r =>
{
string path = r.File.PhysicalPath;
if (path.EndsWith(".gif") || path.EndsWith(".jpg") || path.EndsWith(".png") || path.EndsWith(".svg"))
{
TimeSpan maxAge = new TimeSpan(7, 0, 0, 0);
r.Context.Response.Headers.Append("Cache-Control", "max-age=" + maxAge.TotalSeconds.ToString("0"));
}
}
});
浏览器F12视图:
有什么原因会导致此问题以及如何解决(除了重要的Blazor JS文件之外,请对所有重要缓存文件使用Cache-Control)?