【问题标题】:Blazor Chrome caching issuesBlazor Chrome 缓存问题
【发布时间】:2020-03-10 07:54:50
【问题描述】:

我有这个 Blazor SPA,我已在 webhotel 上发布到 IIS。我的问题是 Chrome 以某种方式缓存了我的 Blazor 程序集,所以无论我重新部署多少次,我仍然会得到旧的 dll。我可以用 chrome --disable-application-cache --incognito 启动一个新的干净的 Chrome,这确实得到了新的 dll,但我该如何正确解决这个问题? 亲切的问候

【问题讨论】:

    标签: web caching dll single-page-application blazor


    【解决方案1】:

    如果您不想要 PWA 功能,以下内容会有所帮助。

    我使用 PWA 开始了我的项目(以防我以后想要它),但结果证明即使只是浏览也会导致这个问题。尝试向 service-worker.published.js 添加 cmets 或版本控制,但这没有帮助。我正在使用 Blazor 版本 3.2.1。

    使用 PWA。在浏览器中检查缓存时,我确实看到了最新的 service-worker.published.js,并且确实下载了一个新的离线缓存。但是浏览器继续使用旧版本的原因超出了我的理解。

    要删除 PWA:

    1. 从 wwwroot 中删除以下文件:
    /wwwroot/manifest.json
    /wwwroot/service-worker.js
    /wwwroot/service-worker.published.js
    
    1. 从 /wwwroot/index.html 中删除这一行
    <script>navigator.serviceWorker.register('service-worker.js');</script>
    
    1. 从您的 csproj 文件中删除这些行
    <ServiceWorkerAssetsManifest>service-worker-assets.js</ServiceWorkerAssetsManifest>
    <ServiceWorker Include="wwwroot\service-worker.js" PublishedContent="wwwroot\service-worker.published.js" />
    

    【讨论】:

    • 谢谢瓦利德。有趣的是,我不再有同样的问题了。我什至在 Blazor 3.2.1
    • 也许你在这个项目中一开始没有启用 PWA?
    • 感谢您删除 PWA 的步骤。
    • 这移除了 PWA,但没有修复缓存问题
    【解决方案2】:

    缓存问题很奇怪。我在解决它时也遇到了很多麻烦,似乎可行的是,我在 Chrome 中将它安装为一个应用程序,当时它已经加载了旧缓存。我可以强制完全刷新,但是一旦我进行了新的常规刷新,它就会回到旧的 DLL 缓存。但是在 Chrome 中将其作为应用程序安装后,在该应用程序中我可以将其卸载,并且它也可以选择从 Chrome 中删除它。然后它终于开始加载我的新版本应用程序......我按照 Waleed Al Harthi 的建议做了,删除 PWA 并避免将来出现这个问题。

    【讨论】:

      【解决方案3】:

      就像你做的那样。但当然还有其他方法。

      1. 在浏览器中按 F12 -> 选择 网络 -> 勾选 禁用缓存强>
      2. 在浏览器中按 F12 -> 在开发者模式下 R 单击 重新加载 -> 选择 硬重新加载
      3. ctrl+shift+R 硬重新加载
      4. 您的方式,但为它创建一个快捷方式。
      5. 使用代码禁用缓存(不推荐,我必须查找如何)

      【讨论】:

      • OP 希望向其 SPA 的每位访问者展示新版本。每个访问者都不必为了看到新版本而硬重新加载。
      【解决方案4】:

      Enable it as a PWA

      然后你可以在你的项目中使用一个属性来控制缓存。 客户端将缓存您的代码,直到您告诉它更新 - 用户将被告知有更新并应重新加载页面 - 此时它将更新。

      【讨论】:

        猜你喜欢
        • 2021-04-04
        • 2017-10-23
        • 2012-08-29
        • 1970-01-01
        • 1970-01-01
        • 2014-01-30
        • 2017-04-26
        • 1970-01-01
        • 2011-08-12
        相关资源
        最近更新 更多