zoukankan      html  css  js  c++  java
  • 如何在 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 


    欢迎大家扫描下面二维码成为我的客户,为你服务和上云

  • 相关阅读:
    类数组对象与arguments
    bind的模拟实现
    new的模拟实现
    call和apply的模拟实现
    参数按值传递
    闭包
    执行上下文
    ECMAScript规范解读this
    缓存使用-8、redis的缓存穿透和缓存雪崩
    缓存使用-7、Redis 为什么是单线程的
  • 原文地址:https://www.cnblogs.com/shanyou/p/14318708.html
Copyright © 2011-2022 走看看