2023年6月13日 .NET 8 Preview 5,.NET 团队在官方博客发布了系列文章:
对于 Web 开发,.NET 8 将服务器端和客户端呈现的优势与 Blazor 组件模型相结合。.NET 8 现已推出第五个预览版,它利用服务器端呈现和 Blazor 组件、增强的导航和表单处理以及流式处理呈现。微软表示,流式渲染在响应流上流式传输内容更新,可以改善服务器端渲染页面的用户体验,这些页面需要执行长时间运行的异步任务才能完全呈现。开发人员还可以为每个组件或每个页面添加客户端交互性,并且可以在运行时选择呈现模式。服务器端呈现和流式呈现分别在 .NET 8 预览版 3 和 .NET 8 预览版 4 中提供。
今天就给大家介绍一下Blazor Wassembly里的一项优化Webcli,Webcil 是 .NET 程序集的 Web 友好打包, Webcli打包格式是这些年社区在使用Blazor wassembly反馈到开发团队,ASP.NET 团队在.NET 8 所规划的内容,由于防火墙和防病毒软件可能会阻止浏览器下载或缓存具有.DLL扩展名和PE内容的程序集,某些用户无法使用他们基于Blazor Wassmebly的应用程序 。 Webcli 可用是在Preview 4里推出的,https://devblogs.microsoft.com/dotnet/asp-net-core-updates-in-dotnet-8-preview-4/#webcil-packaging-for-blazor-webassembly-apps。
在.NET 8 Preview 5中, Webcil 已经是默认的打包格式:https://devblogs.microsoft.com/dotnet/asp-net-core-updates-in-dotnet-8-preview-5/#improved-packaging-of-webcil-files ,这里详细的介绍了Webcil 是什么:
Webcil 是用于 .NET 程序集的新 Web 友好打包格式,旨在允许在限制性网络环境中使用 Blazor WebAssembly。在 .NET 8 预览版 5 中,我们通过添加标准 WebAssembly 包装器改进了 Webcil 格式。这意味着Webcil文件现在只是具有标准.wasm扩展名的WebAssembly文件。
Webcil 现在是发布 Blazor WebAssembly 应用时的默认打包格式。如果您希望禁用Webcil,可以通过在项目文件中进行设置来实现。
<PropertyGroup> <WasmEnableWebcil>false</WasmEnableWebcil> </PropertyGroup>
微软还致力于提高.NET在使用WebAssembly的浏览器中的性能。.NET 8 中的 jiterpreter 提供部分 JIT(即时编译)支持,提高了 .NET WebAssembly 运行时的性能。它在基准测试中的UI渲染速度提高了20%,JSON序列化和反序列化的运行速度提高了两倍。 .NET 8 还支持 最新的 WebAssembly 规范,例如用于提前编译的 SIMD,以及热重载改进,也被用于 WebAssembly,还有在支持的浏览器上运行多线程还在开发中。