0
点赞
收藏
分享

微信扫一扫

如何在 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 注入,如下代码所示:

​​

如何在 Blazor WebAssembly中 使用 功能开关_应用程序

​​

有一点要注意:​​功能管理​​​ 中的 ​​功能开关​​​ 读取的值来自于配置文件,如果你想让 ​​功能开关​​ 的值来源于 Configuration 文件的不同节点,必须在 service 注册时单独指定一下。

​​

如何在 Blazor WebAssembly中 使用 功能开关_应用程序_02

​​

为了能够在 Blazor Wassembly中用上 ​​功能管理(feature management)​​,需要通过依赖注入的方式将其注入到 Blazor 组件中:

​​

如何在 Blazor WebAssembly中 使用 功能开关_microsoft_03

​​

使用时调用IFeatureManager 接口的方法IsEnabledAsync,代码如下:

​​

如何在 Blazor WebAssembly中 使用 功能开关_microsoft_04

​​

用法很简单吧,可以看到 .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​





举报

相关推荐

0 条评论