Web Blazor Chrome缓存问题
我有一个Blazor SPA,我在一家网络酒店上发布给IIS。我的问题是Chrome以某种方式缓存了我的Blazor程序集,所以无论我重新部署多少次,我仍然会得到旧的dll。我可以用Chrome启动一个新的干净的Chrome——禁用应用程序缓存——匿名,这确实得到了新的dll,但是我如何正确地修复它呢?Web Blazor Chrome缓存问题,web,caching,dll,single-page-application,blazor,Web,Caching,Dll,Single Page Application,Blazor,我有一个Blazor SPA,我在一家网络酒店上发布给IIS。我的问题是Chrome以某种方式缓存了我的Blazor程序集,所以无论我重新部署多少次,我仍然会得到旧的dll。我可以用Chrome启动一个新的干净的Chrome——禁用应用程序缓存——匿名,这确实得到了新的dll,但是我如何正确地修复它呢? 亲切的问候就像你那样。当然,还有其他方法 在浏览器中按F12键->选择网络->检查禁用缓存 在浏览器中按F12键->在开发人员模式下R单击重新加载->选择硬重新加载 按ctrl+shift+R以
亲切的问候就像你那样。当然,还有其他方法
如果您不需要PWA功能,以下内容将有所帮助 我用PWA开始了我的项目(以防万一我以后需要它),但即使只是浏览一下,它也会导致这个问题。尝试向service-worker.published.js添加注释或版本控制,但没有帮助。我正在使用Blazor版本3.2.1 与PWA。在浏览器中检查缓存时,我确实看到最新的service-worker.published.js出现,并且下载了一个新的脱机缓存。但是浏览器一直在使用旧版本,原因超出了我的理解 要删除PWA:
navigator.serviceWorker.register('service-worker.js');
service-worker-assets.js
谢谢瓦利德。有趣的是,我不再有同样的问题了。我甚至在Blazor 3.2.1上,你可能在这个项目中没有首先启用PWA?感谢你删除PWA的步骤。OP想向他的水疗中心的每位访客展示新版本。每个访问者不应该仅仅为了看到新版本而硬加载。
/wwwroot/manifest.json
/wwwroot/service-worker.js
/wwwroot/service-worker.published.js
<script>navigator.serviceWorker.register('service-worker.js');</script>
<ServiceWorkerAssetsManifest>service-worker-assets.js</ServiceWorkerAssetsManifest>
<ServiceWorker Include="wwwroot\service-worker.js" PublishedContent="wwwroot\service-worker.published.js" />