目錄[隱藏][顯示]
- 1. Blazor是什麼?
- 2. 描述Blazor框架中的組件?
- 3. 為什麼應該使用 Blazor?
- 4. Blazor 的用途是什麼?
- 5. Blazor WebAssembly 是什麼意思?
- 6. Blazor WebAssembly 有哪些優點和缺點?
- 7. 導演在 Blazor 中的作用是什麼?
- 8. Blazor 組件使用哪些存在循環方法?
- 9. “Blazor 服務器”是什麼意思?
- 10. Blazor 服務器有哪些優點和缺點?
- 11. 在什麼情況下使用 Blazor Server 是明智之舉?
- 12. Blazor 堅持哪些階段?
- 13. Blazor WebAssembly 與 Blazor Server 有何區別?
- 14.什麼時候應該使用 Blazer WebAssembly 而不是 Blazer Server?
- 15. Blazor 中的路由意味著什麼?
- 16. Blazor Server 如何處理授權?
- 17. 如何使用 CLI 命令創建和操作 Blazor Server App?
- 18. 如何使用 CLI 命令創建和執行 Blazor WebAssembly 應用程序?
- 19. Blazor 的數據綁定是什麼意思?
- 20. Blazor 中如何進行雙向數據綁定?
- 21. Blazor WebAssembly 可以與 SQL Server 或其他數據庫通信嗎?
- 結論
網站和移動應用程序的發展現在正處於一個令人著迷的時代。 大多數開發人員最初使用 JavaScript 來編寫 Web 應用程序代碼,因為它的平台自由度和其他突破性功能。
JavaScript 被認為是當今最流行和首選的編程語言。
為了開發出色的在線應用程序和移動應用程序,隨著 Web 開發領域的快速增長,軟件開發人員正在尋找 JavaScript 的替代方案。
Blazor Web Assembly 是一種開發,使您能夠在程序中運行 .NET,而不需要其他組件和模塊。
儘管在 Blazor 框架中完成工作面試很困難,但如果您決定這樣做,那麼您就來到了完美的地方。
您可以通過使用 Blazor 框架中這篇文章的熱門面試問題來獲得理想的工作。 現在開始!
1. Blazor是什麼?
構建現代的、可擴展的、跨平台的 Web應用程序 通過免費、開源的 Blazor Web 框架,C# 和 .NET 的開發成為可能。
Blazor 是 Microsoft 和開源社區的一個項目,最初是為想要使用 C# 語言創建 Web 客戶端應用程序的 C# 和 .NET 開發人員而設計的。
現代、快速、快速變化是 Blazor 的最佳描述。 Blazor 支持客戶端和服務器端編碼。 .NET 用於編寫服務器端和客戶端應用程序邏輯。
Blazor 生成 用戶界面 儘管代碼是用 .NET 和 C# 編寫的,但 HTML 和 CSS 具有廣泛的瀏覽器兼容性,包括移動瀏覽器。
2. 描述Blazor框架中的組件?
Blazor 使用的 Razor 模板引擎創建 HTML 並將其發送到 Web 瀏覽器。 HTML 和 C# 語法可以一起在 Razor 模板中使用,這些模板隨後由 Razor 引擎編譯以生成 HTML。
對於 Blazor Components 中的邏輯,我們有兩種選擇:我們可以將邏輯拆分並將組件函數寫入單獨的 C# 類文件中。
為了與 HTML 一起編寫 C# 函數,我們使用 @code 塊。 這 ”。 Blazor 使用“razor”擴展名來標識組件。
3. 為什麼應該使用 Blazor?
Blazor 的目標受眾是具有 C# 和 .NET 背景但不熟悉 JavaScript 的開發人員。 Blazor 具有以下優點:
- 編寫代碼時使用 C# 而不是 JavaScript。
- 在客戶端和服務器之間共享應用程序邏輯。
- 利用 .NET 環境中已存在的 .NET 庫。
- 從 .NET 的性能、可靠性和安全性中獲益。
- 使用可靠、功能豐富且用戶友好的語言、框架和工具集合來構建您的應用程序。
- 在 Windows、Linux 和 macOS 上使用 Visual Studio 來提高工作效率。
4. Blazor 的用途是什麼?
為了創建基於網絡的應用程序,使用 Blazor。 這適用於網站、移動應用程序以及您可以使用 JavaScript 創建的任何其他內容。
您可以藉助該框架進行各種典型的開發活動,包括渲染 HTML 和組件代碼、通過 HTTP 獲取數據以及客戶端路由。
當在瀏覽器上使用時,它可以完全訪問瀏覽器的 JavaScript API。 因此,Blazor 程序既可以利用 JavaScript 函數中的 .NET 方法,也可以利用 JavaScript 函數中的 .NET 方法。
當框架缺少某個 API 或組件或者希望使用 JavaScript 生態系統時,開發人員會使用 JavaScript 互操作。
5. Blazor WebAssembly 是什麼意思?
微軟開發了一種名為 Blazor WebAssembly 的新 UI 技術。 Blazor 採用基於組件的設計,使開發人員能夠使用 C# 和 .NET 構建單頁應用程序 (SPA)。
A.NET 運行時包含在 Blazor 的客戶端瀏覽器內實現中,稱為 Blazor WebAssembly。 隨著 Blazor WebAssembly 的引入,C# 現在可用於開發客戶端 SPA。
此前,Blazor Server 和 ASP.NET Core MVC 都是服務器端解決方案,可用於構建網站。
如果您想擴展自己的技能、使用新的 Microsoft 技術或只是對 WebAssembly 感興趣,那麼 Blazor WebAssembly 適合您。
6. Blazor WebAssembly 有哪些優點和缺點?
為妳而設的優點:
- 網絡延遲更小
- 離線協助。
- 客戶端交互不需要了解 JavaScript。
缺點:
- 大頁面下載大小。
- 有限的.Net 程序集支持。
- 客戶端調試不是很有效。
- 不太安全; 瀏覽器將下載 DLL。
- 對瀏覽器的依賴; 不支持 Internet Explorer。
7. 導演在 Blazor 中的作用是什麼?
路由是 URL 模型,路由是模型規劃,其中包括過濾購買並確定如何處理每筆銷售的操作。 ASP.net Core 端點路由由 Blazor 專用應用程序使用。
ASP.net Core 開始認識到 Blazor 部分關係的轉變,使用 MapBlazorHub 擴展技術進行端點指導。
客戶端路由由 Blazor 客戶端應用程序提供。 開關是在App中設置的。 Blazor 客戶端應用程序的 cshtml 記錄。
後備過程由 Blazor Server 應用程序許可證確定。 它可以有效地指導規劃,需求很少。
當不支持不同策略時,可以使用後備策略。 _Host—cshtml 部分主要描述回退機制。
8. Blazor 組件使用哪些存在循環方法?
在當前構建的 Blazor 片段以及非並發策略的示例中,Blazor 應用程序為直接任務授予了多種技能:
- 已就任
- OnInitializedAsync
- 參數設置時
- 關於參數
- 設置異步
- 渲染後
- OnAfterRenderAsync
9. “Blazor 服務器”是什麼意思?
為了表達客戶端瀏覽器的邏輯,Microsoft Blazor Server 使用 Blazor 組件(以 Razor 組件的形式)解耦應用程序級別。
ASP.Net Core 框架是 Blazor 的基礎。 它提供了在服務器上的 ASP.NET Core 應用程序中託管 Razor 組件的幫助。
為了連接到 ASP.Net 服務器客戶端的 DOM,Blazor 使用 SignalR。
10. Blazor 服務器有哪些優點和缺點?
為妳而設的優點:
- 與任何軟件一起使用。
- 使用了令人難以置信的小頁面下載空間。
- JavaScript 沒有先決條件。
- 從某種意義上說,代碼將位於服務器上,這要安全得多。
- 當您使用專業人士的現場互聯網集中時,為在線社交活動提供全面支持。
缺點:
- 監視 SignalR 事件需要更多資源。
- 協調工人活動的高度遲緩網絡
- 每個場景都需要一名專業人員; 不應有任何中斷的援助。
11. 在什麼情況下使用 Blazor Server 是明智之舉?
對於我們的 .NET 應用程序,Blazor 使我們能夠創建豐富的、用戶友好的界面。 使用 Blazor Server 有很多理由。
- 當您必須將工作從客戶轉移給員工時。
- 當前的申請理由不應因任何有說服力的原因而改變。
- 需要使用低控制設備的應用程序可以從中受益匪淺。
- 為 Blazor Server 應用程序設置的關聯只需要少量下載。
12. Blazor 堅持哪些階段?
Blazor 的應用程序可以在 Windows、Linux、macOS、雲和 Web 等平台上顯示和使用。 客戶端和工作端的應用程序均由 Blazor 維護。
ABlazor 工作端的應用程序是使用 ASP.NET Core 創建的。 WebAssembly 用於在 Web 程序中運行客戶端 Blazor 應用程序。
Blazor 用於構建在線應用程序、雲鄰居應用程序、本地靈活應用程序和 Windows 客戶端應用程序。
13. Blazor WebAssembly 與 Blazor Server 有何區別?
Blazor 提供 Blazor 服務器和 Blazor WebAssembly 作為其兩種應用程序開發方式。 Blazor 服務器應用程序通過實時 SignalR 連接管理 UI 交互,同時在服務器上託管 Blazor 組件。
ASP.NET Core 渲染 Razor 組件,在服務器上編譯 C# 代碼,然後使用 SignalR 將生成的 UI 元素發送回瀏覽器。
Blazor WebAssembly 應用程序使用 .NET 獨有的 WebAssembly 運行時,這與 Blazor Server 不同,後者在瀏覽器中託管客戶端組件。
.NET 必須由運行時轉換為瀏覽器組件。 客戶端瀏覽器管理每個組件及其渲染過程。
14.什麼時候應該使用 Blazer WebAssembly 而不是 Blazer Server?
對於希望創建在沒有服務器的瀏覽器中運行的客戶端 Web 應用程序的 C# 和 .NET 開發人員,Blazor WebAssembly 提供了一種替代方案。
與 Blazor Server 相比,Blazor WebAssembly 程序不需要服務器,所有代碼都在瀏覽器中執行。 以下是 Blazor WebAssembly 優於 Blazor Server 的幾種場景。
- 您想要快速創建靜態網頁。
- 您缺乏服務器端和 ASP.NET 編程知識。
- 在服務器上,管理和分發代碼不是您想要做的事情。
- 您想要利用 CPU、內存和存儲以及客戶端瀏覽器。
- 您想要創建可以完全離線運行的 Web 應用程序。
- 實時回復和不斷更新的 UI 是您想要設計的。
- 要添加實時警報、本地瀏覽器存儲、消息和服務器工作人員,您需要利用現代技術,例如漸進式 Web 應用程序 (PWA)。
15. Blazor 中的路由意味著什麼?
路由是 URL 的一種模式,而路由是一種模式匹配過程,用於跟踪請求並決定如何處理每個請求。 Blazor 服務器應用程序使用 ASP.net Core 端點路由。
ASP.net Core 現在使用端點路由的 MapBlazorHub 擴展方法接受 Blazor 組件的傳入連接。
客戶端路由由 Blazor 客戶端應用程序提供。 Blazor 客戶端應用的 App.cshtml 文件包含路由器配置信息。
Blazor 客戶端應用程序
Blazor 服務器應用程序
16. Blazor Server 如何處理授權?
授權過程驗證用戶是否有權訪問程序的資源。
換句話說,它使您能夠根據角色、聲明和規則限制用戶對資源的訪問。 通過利用屬性、內置組件和授權規則的定義,可以實現 Blazor 的 ASP.NET Core 授權系統。
Blazor 的內置 AuthorizeView 組件可以根據用戶的身份驗證狀態顯示頁面內容。 除了基於角色的授權之外,該組件還提供基於策略的授權。
當您想要根據用戶的角色、策略或身份驗證狀態顯示頁面內容時,此組件非常方便。
通過 AuthentizationStateProvider,可以了解用戶的身份驗證狀態。
17. 如何使用 CLI 命令創建和操作 Blazor Server App?
要使用 asp.net core CLI 創建 Blazor 服務器應用程序,請打開命令行並輸入以下命令:
18. 如何使用 CLI 命令創建和執行 Blazor WebAssembly 應用程序?
利用asp.net core CLI,我們可以通過打開命令行並輸入以下命令來構建Blazor WebAssembly程序:
19. Blazor 的數據綁定是什麼意思?
在這場成為最偉大的 Web 開發框架的戰鬥中,Blazor 正在與其他當代 Web 開發框架進行一場艱苦的戰鬥。
綁定是與數據或控件對象(例如文本框、選擇或表單組件)交互的關鍵。
憑藉單向、雙向數據綁定和強大的事件綁定行為,Blazor 提供了使用綁定的最佳方法。
20. Blazor 中如何進行雙向數據綁定?
在這種情況下,信息同時從源流向目的地以及從目的地流向源。
例如,假設我們使用組件類的數據變量作為源,並且需要在 HTML UI 上訪問此變量的值以便顯示或編輯某些消息。
我們使用 Blazor 中的 razor 的 @bind 來讀取 Blazor 組件中任何數據變量的值。
當用戶編輯數據並將注意力轉移到另一個元素時,@bind 保留從 ref 接收到的值並更新原始源元素。
21. Blazor WebAssembly 可以與 SQL Server 或其他數據庫通信嗎?
Blazor是在客戶端運行的.NET代碼。 IL代碼將被下載到客戶端,使逆向工程變得容易。 因此,您應該避免在 Blazor WASM 代碼中包含任何秘密(例如密碼)。
您的 Blazor 應用程序需要使用用戶名-密碼組合連接遠程數據庫,該組合只能保存在應用程序中。 不要這樣做——這是一個巨大的安全風險。
您應該僅使用具有受限訪問層的服務來訪問遠程數據。 圍繞數據庫創建一個服務 API,公開您希望提供的操作,例如 REST。
然後,您可以在該 API 上使用安全令牌,以確保只有授權用戶才能訪問該 API,從而訪問您的數據。
結論
如果您正在尋找加快開發過程並略微提高頁面性能的解決方案,那麼 Blazor 是一個出色的平台。
這對開發人員來說是個好消息,儘管它超出了典型營銷人員創建網站或建立登陸頁面所需的範圍。
用戶友好的平台消除了編碼語言限制,簡化了工作流程,並使開發團隊更輕鬆地完成任務。
最後,這裡列出了 20 多個 Blazor 面試問題,可幫助您找到理想的工作。
發表評論