如何在 Blazor WebAssembly中 使用 功能開關

微軟Azure 團隊開發的 功能管理 (Feature Management)Microsoft.FeatureManagement可用於實現 功能開關,能夠經過 功能開關 特性動態的改變應用程序的行爲而不須要改變任何的業務邏輯代碼。關於功能開關的更多功能請看Edi Wang的B站視頻:html

這篇文章的重點是介紹如何在Blazor WebAssembly項目中實現功能開關。前端

經過 NuGet 安裝 Microsoft.FeatureManagement ,可經過 Visual Studio 2019 下的 NuGet Package Manager 可視化管理界面 或者 經過 .NET CLI 命令行工具輸入以下命令。git

dotnet add package Microsoft.FeatureManagementgithub

爲了可以在項目中用上 功能管理,須要在 ConfigureServices 方法下進行 service 注入,以下代碼所示:app

image

有一點要注意:功能管理 中的 功能開關 讀取的值來自於配置文件,若是你想讓 功能開關 的值來源於 Configuration 文件的不一樣節點,必須在 service 註冊時單獨指定一下。工具

image

爲了可以在 Blazor Wassembly中用上 功能管理(feature management),須要經過依賴注入的方式將其注入到 Blazor 組件中:spa

image

使用時調用IFeatureManager 接口的方法IsEnabledAsync,代碼以下:命令行

image

用法很簡單吧,能夠看到 .NET 的對 功能管理 提供了開箱即用的支持, 這確實是一個很是實用的特性,更多關於該 知識點 的介紹,可參考官網:https://docs.microsoft.com/en-us/azure/azure-app-configuration/use-feature-flags-dotnet-corecode

從這篇小文章你能夠感覺到使用blazor 能夠將.NET的整個生態融入到前端,這樣的blazor 是爲你賦能。文章裏面的截圖代碼參見:https://github.com/geffzhang/Abp.BootstrapTheme  視頻

相關文章
相關標籤/搜索