Blazor Chrome 缓存问题

Mar*_*sen 3 dll caching web single-page-application blazor

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

Wal*_*thi 7

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

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

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

在此处输入图片说明

删除 PWA:

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


Pat*_*nio 0

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

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