Fork me on GitHub

如何在 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 


posted @   张善友  阅读(806)  评论(0编辑  收藏  举报
编辑推荐:
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具
历史上的今天:
2013-01-23 从APM角度上看:NoSQL和关系数据库并无不同
2011-01-23 推荐一个在Linux/Unix上架设ASP.NET的 WEB服务器--Jexus
2009-01-23 Silverlight: 通过LINQ 和Isolated Storage构建客户端数据库
2007-01-23 微软挖角IBM ,怎么看?
点击右上角即可分享
微信分享提示