深入浅出Blazor webassembly之理解 Blazor WASM

参考:  https://executecommands.com/difference-in-blazor-server-and-webassembly/

 

Blazor WASM 整体运行架构如下:

1. 图中 WebAssembly 引擎., 现代浏览器都依照 WebAssembly 标准实现了 WebAssembly 引擎, WebAssembly是基于堆栈的VM

2. 图中的 .NET部分, 更准确地说, 应该是 Mono IL, 它是一个WebAssembly应用, 可以被WebAssembly 引擎执行, 功能是解释执行.Net 程序.   我们开发的Blazor WebAssembly应用, 有两种执行模式:

  (1) JIT 模式(Just In Time, 默认模式), 我们的应用会被编译成 dll 文件, 这个文件会被Mono IL解释器加载执行.

  (2) AOT模式( Ahead Of Time), 我们的应用会和Mono IL 一起编译成 WebAssembly 应用, 它可以被浏览器的 Web Assembly引擎直接执行, 优点是执行效率高, 适合于CPU密集型计算, 缺点是文件大小比JIT模式要大一倍.

   开启 AOT 模式, 需要在 Project 文件中, 增加 RunAOTCompiliation指令.

  <PropertyGroup>
    <TargetFramework>net5.0</TargetFramework>
    <RunAOTCompiliation>true</RunAOTCompiliation>
  </PropertyGroup>

 

认识 blazor wasm 项目的一些文件:

1.   app.css 文件, 等价于 blazor server项目的 site.css 文件, 可以存放项目自身定义的样式.

2. _framework/blazor.webassembly.js, 该文件在 index.html 中被用到, 负责下载所有的 .NET dll文件和静态资源文件.

 

posted @   harrychinese  阅读(960)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律
点击右上角即可分享
微信分享提示