要使用Blazor,你得先选择一种模式,因为它有两种模式。Blazor网络框架允许将Razor组件以不同的方式托管。它们可以在ASP.NET Core(Blazor Server)中在服务器端运行,也可以在基于WebAssembly的.NET运行时在浏览器中在客户端运行(Blazor WebAssembly或Blazor WASM)。
在服务器端托管模型(Blazor Server-Side)中,Blazor在ASP.NET Core应用程序内从服务器端执行。UI更新、事件处理和JavaScript调用通过SignalR连接处理。
Blazor Server托管模型提供了几个特点:
1、较小的有效负载大小,快速的初始加载时间(与Blazor WebAssembly相比)
2、完全兼容.NET API
3、Blazor Server应用程序可以直接访问应用程序执行的服务器和网络资源。
4、支持轻客户端-Blazor Server应用程序可与不支持WebAssembly的浏览器和受资源限制的设备一起工作,接近本机执行速度。一些版本稍微老一点的浏览器,并不支持WebAssembly。
5、Blazor Server应用程序通常在服务器上快速执行。但是,它们通常比在客户端上本机执行的其他类型的应用程序慢。
6、Blazor Server具有内置功能,可以在服务器上安全且私密地维护应用程序代码。
在客户端模型(Blazor WebAssembly)中,Blazor应用程序、其依赖项和.NET运行时会下载到浏览器中,并直接在浏览器UI线程上执行该应用程序。所有UI更新和事件处理都发生在同一个进程中。
Blazor WASM托管模型提供了几个优点:
1、一旦下载,可以离线运行Blazor应用程序-作为渐进式Web应用程序(PWA),构建的Blazor WebAssembly应用程序可以离线运行(例如,当客户端无法连接到互联网时)
2、静态站点托管-Blazor WebAssembly应用程序被下载到客户端作为一组静态文件(不需要服务器执行服务器端代码以便下载和运行)
3、将处理工作分配给客户端(应用程序在客户端上执行)
4、Blazor Server和Blazor WebAssembly都部署为网络应用程序,在下一次应用程序刷新时更新。