人人都会Blazor —— 1.2 托管模型

托管模型

Razor 组件可以在 ASP.NET Core (Blazor Server) 中运行服务器端,并在浏览器中使用基于 WebAssembly 的 .NET 运行时(Blazor WebAssembly、Blazor WASM)运行客户端。 还可以在本机移动应用和桌面应用中托管 Razor 组件,将其呈现到嵌入式 Web View 控件 (Blazor Hybrid)。 无论采用哪种托管模式,生成 Razor 组件的方式都是相同的。 相同的 Razor 组件可以在任何托管模型下使用,没有任何变化。

Blazor Server

使用 Blazor Server 托管模型可从 ASP.NET Core 应用中在服务器上执行组件。 UI 更新、事件处理和 JavaScript 调用是通过 SignalR 连接使用 WebSocket 协议进行处理。 服务器上与每个连接的客户端相关联的状态被称为线路。 线路不绑定到特定网络连接,可以承受短暂的网络中断,允许客户端在连接丢失时尝试重新连接到服务器。

在传统的服务器呈现应用中,在多个浏览器屏幕(选项卡或 iframes)中打开同一应用通常不会对服务器产生额外的资源需求。 对于 Blazor Server 托管模型,每个浏览器屏幕都需要单独的线路和单独的服务器托管组件状态实例。 Blazor 将关闭浏览器标签页或访问外部 URL 视为正常终止。 如果正常终止,则会立即释放线路和关联的资源。 例如,由于网络中断,客户端也可能异常地断开连接。 Blazor Server 会将断开连接的路线存储一段时间(可配置),以便客户端重新连接。

你可能感兴趣的:(人人都会的,Blazor,Blazor,AspNetCore,.NET,Core,前端,组件)