什么是Blazor?
Blazor是一个使用.NET生成交互式客户端Web UI的框架。Blazor使用Razor语法,用于将HTML标记与C#代码结合在一起,最后将C#代码文件和Razor文件统一编译为.NET程序集。
Blazor两种托管方式
在Visual Studio开发环境中, 创建Blazor应用有两种托管方式:
1、Blazor WebAssembly ---- 创建Blazor应用的项目模板,在WebAssembly上运行并且可选择是 否应用ASP.NET CORE托管。此模板应用于“ 需要丰富动态用户界面的WEB应用 ”场景。
2、Blazor Server -----创建Blazor Server应用的项目模板,该应用在ASP.NET CORE内运行服务器端并通过SignalR链接进行用户交互处理。此模板亦应用于“ 需要丰富动态用户界面的WEB应用 ”场景。
Blazor WebAssembly
Blazor WebAssembly依赖于WASM标准,WebAssembly是一种可移植的二进制代码语言,现代浏览器都支持WASM。
Blazor WebAssembly传输的数据比较大,运行Blazor WebAssembly项目时,所有dll都必须传输到客户端。故程序直接在浏览器中执行,即使断网也不受影响。WebAssembly不依赖.NET运行时,从而可部署在静态文件服务器上。
注:由于.NET的IL格式和WebAssembly是2种不同的二进制文件格式。因此,Microsoft实现了包含.NET运行时的WebAssembly文件:dotnet.wasm。它的职责之一就是,编译IL代码以在WebAssembly边界内执行。
Blzaor Server
Blzaor Server传输的数据比较小,仅需要传输160KB左右的数据,页面几乎瞬时加载完成。因为Blazor Server项目不涉及WebAssembly,所有组件呈现逻辑都是在服务端实现的,只是将需要处理的UI更新通过SignalR发送给浏览器。
浏览器仅需处理javascript、CSS和HTML代码。但这样导致Blazor Server项目必须实时和服务端交互,使用类似_blazor?id=xxx这样的URL路径连接并传递数据:
服务端必须依赖.NET运行时,因此只能部署在ASP.NET Core应用服务器上。所以,项目停止运行时,Server项目的页面需要重新连接服务器。
两种不同托管方式的优缺点分析:
文章来源地址https://www.toymoban.com/news/detail-647592.html
【完结】文章来源:https://www.toymoban.com/news/detail-647592.html
到了这里,关于一分钟理解:Blazor WebAssembly 和 Blazor Server 差异性的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!