【问题标题】:Slow app load because dotnet.wasm not cached for AOT and InterpreterAOT builds应用程序加载缓慢,因为 dotnet.wasm 没有为 AOT 和 InterpreterAOT 构建缓存
【发布时间】:2021-03-19 15:16:14
【问题描述】:

我正在尝试提高我的 Uno Platform WASM 应用的加载时间性能。它托管在 IIS/10.0 服务器上。当我在托管此应用程序的 <WasmShellMonoRuntimeExecutionMode>Interpreter</WasmShellMonoRuntimeExecutionMode> 构建的页面上重新加载浏览器时,我可以在浏览器的网络日志中看到它正在从浏览器的缓存中提取 dotnet.wasm

但是,当我在承载 <WasmShellMonoRuntimeExecutionMode>InterpreterAndAOT</WasmShellMonoRuntimeExecutionMode><WasmShellMonoRuntimeExecutionMode>FullAOT</WasmShellMonoRuntimeExecutionMode> 构建的页面上重新加载浏览器时,它总是从服务器中提取文件:

我已经在 Chrome、Edge、Edge Beta、FireFox 和 Opera 上进行了尝试,结果都一样。

所有构建在其根目录中都有相同的web.config 文件。

编辑 1web.config 文件来自 Uno 模板(未修改)。

编辑 2:我还应该注意,自从最初发布这个问题以来,我发现 web.config 似乎正在使用 IIS Express 和 Azure Web App Service(应用程序文件的压缩版本是正在服务并且dotnet.wasm 被浏览器缓存)-但不是 Windows 10 服务器上的 IIS 服务器(应用文件的压缩版本没有被提供并且dotnet.wasm 没有被浏览器缓存)。

我的构建配置中是否缺少触发此行为的内容?

【问题讨论】:

    标签: uno-platform


    【解决方案1】:

    Uno Platform 应用模板提供了a web.config file,可以启用压缩,并避免此类问题。

    该 web.config 文件使用 IIS URL rewriting module 和 brotli/gzip 压缩来加快资源下载速度。

    【讨论】:

    • 感谢杰罗姆的快速回复。两个注意事项:(1)web.config 文件来自 Uno Template(未修改)。 (2) 看来 web.config 正在使用 IIS Express 和 Azure Web App Service - 只是不是 Windows 10 服务器上的 IIS 服务器。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-07-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-06-02
    相关资源
    最近更新 更多