Pat*_*eam 11 .net webassembly blazor
我正在摆弄默认的 VS2019 (16.6.5) Blazor WebAssembly 项目。但是,当我查看Chrome(或 Firefox 或 Edge)> Developer Tools [F12] > network并启用Disable Cache 时,我没有看到加载太多内容?
在Dev Tool > Sources 中,我可以看到dotnet.wasm已以某种方式加载。
通过阅读一些像这样的文章,我看到了显示 DLL 和 wasm 正在加载的屏幕截图。
为什么我看不到?
编辑:好的,只有在从 VS2019 开始调试 Blazor WebAssembly 项目时,我才成功地看到 DLL 像我想要的那样加载。当我在没有调试的情况下启动项目时,我仍然获得与第一个屏幕截图相同的轻量级负载。为什么?
Qua*_*ngo 20
Blazor WASM 在 RTM 3.2 版发布之前(2020 年 5 月)更改了加载行为,因此之前的示例演示了旧行为。
当 Blazor WASM 应用程序加载时,它会为每个 DLL 创建一个清单和校验和,这将加载到 blazor.boot.json
Blazor 代码将在浏览器的缓存存储中检查这些文件(和校验和)。请注意,这与浏览器用于普通内容(例如 HTML、CSS 等)的缓存不同。
如果它们不存在(第一次运行),它们将被加载。您可以在此处查看加载的文件:
这些文件在第一次运行时加载。在以后的页面浏览中,如果文件名和校验和匹配,即使您选择浏览器的“清空缓存和硬重新加载”也不会重新加载
为什么?这是有道理的,因为像这样的文件mscorlib.dll不会因应用程序重新编译而改变。这不是 JavaScript,而是二进制文件。SHA256 校验和验证它是同一个文件。
但是,如果您编辑和重新编译,您的 Blazor 应用程序 DLL 将会更改。如果他们这样做,他们会重新加载:
如果您想强制完全重新加载,您可以导航到浏览器缓存(在 Chrome 开发人员工具中的应用程序下),然后为您的站点选择删除。
| 归档时间: |
|
| 查看次数: |
1131 次 |
| 最近记录: |