我在加载使用 blazor 构建和发布的网站时遇到问题。我收到以下错误消息:
“无法在资源“https://MYWEBSITEURL.com/_framework/System.Private.CoreLib.dll”的“完整性”属性中找到具有计算的 SHA-256 完整性“xV9SflNt5Ex5gP7OznQorlp2VkdJXkcAiopU+h5DRzY=”的有效摘要。该资源具有被封锁了。”
我假设浏览器阻止文件下载,因为发布时创建的哈希值不匹配。
发布后没有编辑任何文件,也不涉及 git 我从 VS 2019 发布应用程序并通过 FTP 上传到服务器。
然而,该模式是随机的。如果我刷新页面几次,它会起作用,如果我再次刷新页面,它会再次崩溃。有时一个资源被阻塞,有时没有,有时 10 个。
任何帮助将不胜感激。
我有同样的问题,看起来根本原因是具有旧哈希值的 service-worker-assets.js 被浏览器缓存(至少我在网络选项卡上的开发工具中看到,当新版本的软件尝试下载新版本时)从磁盘缓存中检索的 service-worker-assets.js 文件)。
请参阅 @dvallmen 发布的 github 问题和潜在解决方案(我尚未在生产中进行测试)
github.com/dotnet/aspnetcore/issues/39016
解决方案是通过注册 SW 并将 updateViaCache 参数设置为“none”来禁用从 HTTP 缓存检索 service-worker-assets.js
navigator.serviceWorker.register('/service-worker.js', {updateViaCache: 'none'})
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)