我有一个Blazor应用程序,该应用程序将部署到Azure以进行一些alpha测试。我已经做到了,并且可以从网站上正常运行该应用程序。
当我对客户端和服务器项目进行更改并重新发布时,就会出现问题。无论运行哪种浏览器,客户端都将运行浏览器缓存中已存在的任何内容,直到清除浏览器历史记录。这意味着在清除历史记录之前,该应用程序似乎已损坏,因为旧版本上的客户端请求与新的服务器API不匹配-更不用说我的客户端更改没有得到测试。
发布更改时,如何强制重新加载客户端?我是否必须告诉浏览器不要缓存我的应用程序(不确定如何在blazor上运行),并在性能稳定之前使性能受到影响?还是有一种方法可以在使用某些中间件之类的第一个API调用后强制客户端重新加载?
还是我错过了什么?
编辑:可能与我使用了Blazor WebAssembly 3.2.0 Preview 2中提供的PWA模板有关。我仍从浏览器运行该应用程序,但是启用PWA选项似乎有可能改变了该应用程序的行为,即使作为常规网站运行。
由于您的应用程序是PWA,因此您可以在navigator.serviceWorker对象中声明要注册的js文件。此my.js文件可以包含一个const CACHE_VERSION = 1.0
。更新此值应强制客户端下载最新文件。有关更多信息,请参见Jeremy Likness的博客文章。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句