Blazor WASM PWA部署后压缩资源未更新致完整性校验失败求助
Blazor WASM PWA部署后压缩资源(.gz/.br)未更新导致完整性校验失败
问题现象
部署在IIS进程外模式的Blazor WASM PWA应用加载时,_framework/dotnet.timezones.blat文件出现完整性校验失败,报错:
Failed to find a valid digest in the 'integrity' attribute for resource 'https://app.x.y.z/_framework/dotnet.timezones.blat' with computed SHA-256 integrity 'rwyJqJu36keQwNmm/O1XV7tnkkVldIOK8GIjn4gTUt4='. The resource has been blocked.
相关排查信息
- FTP上传的
dotnet.timezones.blat文件哈希为GzDmKQksbAkzNe1GNrGcVtpc0naGXOFCpUzq3c/pV+c=,与报错中的哈希完全不同; - 报错中的哈希对应同服务商不同IP站点的旧版本应用,该旧版本从未部署到当前子域名;
- 通过浏览器外工具下载文件能得到正确版本(哈希匹配),但浏览器下载的是旧版本,其哈希与
service-worker-assets.js中的记录不匹配; - 已尝试清除所有浏览器缓存、更换多浏览器、在全新VM中测试,问题仍存在。
问题定位更新
发布后原始dotnet.timezones.blat文件正常,但生成的.gz压缩文件内容为旧版本(推测.br文件也受影响)。浏览器因接受压缩文件获取到旧内容,而其他工具不接受压缩文件则拿到正确内容。已尝试删除bin、obj和.vs文件夹重新构建发布,无效。
求助问题
- 如何强制构建/发布流程重新生成这些压缩文件(.gz/.br)?
- 这些压缩文件是否被SDK缓存,或者属于SDK的固定资源?
内容的提问来源于stack exchange,提问作者ZorgoZ
相关产品推荐
相关产品推荐

