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

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

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

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

dotnet add package Microsoft.FeatureManagement

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

image

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

image

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

image

使用時調用IFeatureManager 接口的方法IsEnabledAsync,代碼如下:

image

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

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


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章