日本免费高清视频-国产福利视频导航-黄色在线播放国产-天天操天天操天天操天天操|www.shdianci.com

學(xué)無先后,達(dá)者為師

網(wǎng)站首頁 編程語言 正文

Blazor框架簡介_基礎(chǔ)應(yīng)用

作者:痕跡g ? 更新時(shí)間: 2022-04-10 編程語言

Blaozr 是由微軟2019推出得一種使用.NET 生成交互式客戶端得Web UI框架。

該框架利用C#代替JavaScript進(jìn)行創(chuàng)建UI , 并且可以共享.NET編寫的服務(wù)端和客戶端業(yè)務(wù)代碼。

優(yōu)勢(shì):

  • 1 使用C#代替JavaScript編寫代碼, 意味著, 如果你使用的是.Net進(jìn)行編寫服務(wù)端(例:ASP.NET Core WebApi) 或者是 客戶端(WPF/Winform),那么可以共享應(yīng)用之前的邏輯, 無需針對(duì)Web再編寫其他的業(yè)務(wù)代碼。
  • 2 始終高效支持 Windows、Linux 和 macOS 上的 Visual Studio。
  • 3 利用現(xiàn)有的 .NET 庫生態(tài)系統(tǒng)。

瀏覽器要求:

Blazor WebAssembly

Microsoft Edge

Mozilla Firefox

Google Chrome,包括 Android

Safari,包括 iOS當(dāng)前

Microsoft Internet Explorer 不支持 WebAssembly。

Blazor 服務(wù)器

Microsoft Edge

Mozilla Firefox

Google Chrome,包括 Android當(dāng)

Safari,包括 iOS

托管模型

Blazor WebAssembly

Blazor 的主要托管模型在 WebAssembly 上的瀏覽器中運(yùn)行客戶端。 將 Blazor 應(yīng)用、其依賴項(xiàng)以及 .NET 運(yùn)行時(shí)下載到瀏覽器。 應(yīng)用將在瀏覽器線程中直接執(zhí)行。

UI 更新和事件處理在同一進(jìn)程中進(jìn)行。 應(yīng)用資產(chǎn)作為靜態(tài)文件部署到可為客戶端提供靜態(tài)內(nèi)容的 Web 服務(wù)器或服務(wù)中。

1.模板包括 blazor.webassembly.js 腳本,可處理以下任務(wù):

  • 下載 .NET 運(yùn)行時(shí)、應(yīng)用和應(yīng)用依賴項(xiàng)。
  • 初始化運(yùn)行應(yīng)用的運(yùn)行時(shí)。

2.Blazor WebAssembly 托管模型具有以下優(yōu)點(diǎn):

  • 沒有 .NET 服務(wù)器端依賴項(xiàng)。 應(yīng)用下載到客戶端后即可正常運(yùn)行。
  • 可充分利用客戶端資源和功能。
  • 工作可從服務(wù)器轉(zhuǎn)移到客戶端。
  • 無需 ASP.NET Core Web 服務(wù)器即可托管應(yīng)用。 無服務(wù)器部署方案可行(例如通過 CDN 為應(yīng)用提供服務(wù)的方案)。

3.Blazor WebAssembly 托管具有以下缺點(diǎn):

  • 應(yīng)用僅可使用瀏覽器功能。
  • 需要可用的客戶端硬件和軟件(例如 WebAssembly 支持)。
  • 下載項(xiàng)大小較大,應(yīng)用加載耗時(shí)較長。
  • .NET 運(yùn)行時(shí)和工具支持不夠完善。 例如,.NET Standard 支持和調(diào)試方面存在限制。
    Blazor 托管應(yīng)用模型支持 Docker 容器。 在 Visual Studio 中右鍵單擊 Server 項(xiàng)目,然后選擇“添加” > “Docker 支持” 。

Blazor Server

使用 Blazor 服務(wù)器托管模型可從 ASP.NET Core 應(yīng)用中在服務(wù)器上執(zhí)行應(yīng)用。 UI 更新、事件處理和 JavaScript 調(diào)用是通過 SignalR 連接進(jìn)行處理。

1.Blazor 服務(wù)器托管模型具有以下優(yōu)點(diǎn):

  • 下載項(xiàng)大小明顯小于 Blazor WebAssembly 應(yīng)用,且應(yīng)用加載速度快得多。
  • 應(yīng)用可充分利用服務(wù)器功能,包括使用任何與 .NET Core 兼容的 API。
  • 服務(wù)器上的 .NET Core 用于運(yùn)行應(yīng)用,因此調(diào)試等現(xiàn)有 .NET 工具可按預(yù)期正常工作。
  • 支持瘦客戶端。 例如,Blazor 服務(wù)器應(yīng)用適用于不支持 WebAssembly 的瀏覽器以及資源受限的設(shè)備。
  • 應(yīng)用的 .NET/C# 代碼庫(其中包括應(yīng)用的組件代碼)不適用于客戶端。

2.Blazor 服務(wù)器托管具有以下缺點(diǎn):

  • 通常延遲較高。 每次用戶交互都涉及到網(wǎng)絡(luò)躍點(diǎn)。
  • 不支持脫機(jī)工作。 如果客戶端連接失敗,應(yīng)用會(huì)停止工作。
  • 如果具有多名用戶,則應(yīng)用擴(kuò)縮性存在挑戰(zhàn)。 服務(wù)器必須管理多個(gè)客戶端連接并處理客戶端狀態(tài)。
  • 需要 ASP.NET Core 服務(wù)器為應(yīng)用提供服務(wù)。 無服務(wù)器部署方案不可行(例如通過 CDN 為應(yīng)用提供服務(wù)的方案)。
    Blazor Server 應(yīng)用模型支持 Docker 容器。 在 Visual Studio 中右鍵單擊該項(xiàng)目并選擇“添加” > “Docker 支持” 。

原文鏈接:https://www.cnblogs.com/zh7791/p/12722476.html

欄目分類
最近更新