服务器端Blazor中的缓存控制JSS / JS文件

时间:2020-07-07 22:04:10

标签: .net-core blazor

在编写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视图:

enter image description here

有什么原因会导致此问题以及如何解决(除了重要的Blazor JS文件之外,请对所有重要缓存文件使用Cache-Control)?

0 个答案:

没有答案