Asp.net core Blazor Wasm PWA未更新

Asp.net core Blazor Wasm PWA未更新,asp.net-core,blazor,progressive-web-apps,webassembly,Asp.net Core,Blazor,Progressive Web Apps,Webassembly,我有一个Blazor WASM PWA应用程序,我已经发布在IIS的托管服务上。我遇到的问题是,有时应用程序不会在访问者的浏览器中更新。即,他们看到应用程序的旧版本 我知道应用程序缓存应该由服务人员更新,因此您可能需要访问一次网站,然后关闭浏览器并再次访问以获取更新版本。然而,有时看起来缓存只是一团糟,不管发生什么,应用程序都不会更新。我找到的唯一解决方案是按F12键,转到应用程序选项卡并删除其中的所有内容->这将强制再次下载最新版本的应用程序 是否有人知道发生了什么以及如何修复此问题?声明一个

我有一个Blazor WASM PWA应用程序,我已经发布在IIS的托管服务上。我遇到的问题是,有时应用程序不会在访问者的浏览器中更新。即,他们看到应用程序的旧版本

我知道应用程序缓存应该由服务人员更新,因此您可能需要访问一次网站,然后关闭浏览器并再次访问以获取更新版本。然而,有时看起来缓存只是一团糟,不管发生什么,应用程序都不会更新。我找到的唯一解决方案是按F12键,转到应用程序选项卡并删除其中的所有内容->这将强制再次下载最新版本的应用程序


是否有人知道发生了什么以及如何修复此问题?

声明一个
js
文件,以便在navigator.serviceWorker对象中注册

 /**
  * Register Service Worker
  */
 navigator.serviceWorker
     .register('/***.js', { scope: '/' })
     .then(() => {
         console.log('Service Worker Registered');
     });
这个js文件可以包含如下所示的缓存版本

 const CACHE_VERSION = 1.0.
当代码更改以强制刷新缓存时,更新缓存\u版本。只要register*.js文件发生更改,浏览器就会将service worker更新为其新版本

 const CACHE_VERSION = 1.1;

我是否需要检查此变量才能更新?你能改进你的答案吗?我的项目中没有任何navigator.serviceWorker对象。每次编译时,我都必须清除浏览器中的缓存,以反映页面中的修改。我想将此自动化,因为我认为在部署时会遇到同样的问题。你能解释清楚我把代码放在哪里吗?Please@Ricardo应用程序文件中的Araújo,有关