gpt4 book ai didi

.net - 为什么我在浏览器 > 开发工具 > 网络中的 Blazor WebAssembly 应用程序上看不到 DLL 和 dotnet.wasm?

转载 作者:行者123 更新时间:2023-12-03 15:29:29 26 4
gpt4 key购买 nike

我正在摆弄默认的 VS2019 (16.6.5) Blazor WebAssembly 项目。但是,当我查看 Chrome(或 Firefox 或 Edge)> 开发人员工具 [F12] > 网络时,启用禁用缓存时,我看不到太多加载?
Blazor wasm
在 Dev Tool > Sources 中,我可以看到 dotnet.wasm 已以某种方式加载。
dotnet.wasm in sources
并通过阅读一些文章,如 this one我看到显示 DLL 和 wasm 正在加载的屏幕截图。
Devb Tool Network on Blazor wasm
为什么我看不到?

编辑:好的,我成功地看到加载的 DLL 就像我想要的一样 从 VS2019 开始调试 Blazor WebAssembly 项目时 .当我在没有调试的情况下启动项目时,我仍然获得与第一个屏幕截图相同的轻量级负载。 为什么?

最佳答案

Blazor WASM 在 RTM 3.2 版发布之前(2020 年 5 月)更改了加载行为,因此之前的示例演示了旧行为。
当 Blazor WASM 应用程序加载时,它会为每个 DLL 创建一个 list 和校验和,这在 blazor.boot.json 中加载。
WASM network trace
Blazor 代码将在浏览器的缓存存储中检查这些文件(和校验和)。请注意,这与浏览器用于普通内容的缓存不同,例如HTML、CSS 等
如果它们不存在(第一次运行),它们将被加载。您可以在此处查看加载的文件:
enter image description here
这些文件在第一次运行时加载。在以后的页面浏览中,如果文件名和校验和匹配,即使您选择浏览器的 也不会重新加载。 “清空缓存和硬重新加载”
为什么?这是有道理的,因为像 mscorlib.dll 这样的文件不会因为应用程序重新编译而改变。这不是 JavaScript,而是二进制文件。 SHA256 校验和验证它是同一个文件。
但是,如果您编辑和重新编译,您的 Blazor 应用程序 DLL 将会更改。如果他们这样做,他们会重新加载:
app change results in BlazorApp1.dll reloading
如果您想强制完全重新加载,您可以导航到浏览器缓存(在 Chrome 开发人员工具中的应用程序下),然后为您的站点选择删除。

关于.net - 为什么我在浏览器 > 开发工具 > 网络中的 Blazor WebAssembly 应用程序上看不到 DLL 和 dotnet.wasm?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63701813/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com