快速入门:将功能标志添加到 .NET/.NET Framework 控制台应用

在本快速入门中,你要将 Azure 应用程序配置合并到 .NET 控制台应用中,以创建功能管理的端到端实现。 可以使用应用配置集中存储所有功能标志并控制其状态。

.NET 功能管理库使用功能标志支持扩展该框架。 这些库在 .NET 配置系统的基础上构建。 它们通过其 .NET 配置提供程序与应用程序配置集成。

先决条件

添加功能标志

将名为“Beta”的功能标志添加到应用程序配置存储区,并将“标签”和“描述”保留为其默认值。 有关如何使用 Azure 门户或 CLI 将功能标志添加到存储区的详细信息,请转到创建功能标志

启用名为 Beta 的功能标志

创建控制台应用

可以使用 Visual Studio 创建新的控制台应用项目。

  1. 启动 Visual Studio,并选择“文件”>“新建”>“项目” 。

  2. 在“创建新项目”中,筛选“控制台”项目类型并选择“控制台应用”。 如果你要创建 .NET Framework 应用,请改为选择“控制台应用(.NET Framework)”。 单击 “下一步”

  3. 配置新项目中,输入项目名称。 如果你要创建 .NET Framework 应用,请在“框架”下选择“.NET Framework 4.7.2”或更高版本。 单击 “创建”

使用功能标志

  1. 右键单击项目,然后选择“管理 NuGet 包” 。 在“浏览”选项卡中,搜索以下 NuGet 包并将其添加到项目中 。

    Microsoft.Extensions.Configuration.AzureAppConfiguration
    Microsoft.FeatureManagement
    

    确保 Microsoft.FeatureManagement 的版本大于 3.1.0。

  2. 打开文件 Program.cs 并添加以下语句。

    using Microsoft.Extensions.Configuration;
    using Microsoft.Extensions.Configuration.AzureAppConfiguration;
    using Microsoft.FeatureManagement;
    
  3. 连接到应用程序配置,指定 UseFeatureFlags 选项以检索功能标志。 创建一个 ConfigurationFeatureDefinitionProvider,以从配置提供功能标志定义,以及用于评估功能标志状态的 FeatureManager。 若启用 Beta 功能标志,将显示一条消息。

    IConfiguration configuration = new ConfigurationBuilder()
        .AddAzureAppConfiguration(options =>
        {
            options.Connect(Environment.GetEnvironmentVariable("ConnectionString"))
                .UseFeatureFlags();
        }).Build();
    
    IFeatureDefinitionProvider featureDefinitionProvider = new ConfigurationFeatureDefinitionProvider(configuration);
    
    IFeatureManager featureManager = new FeatureManager(
        featureDefinitionProvider, 
        new FeatureManagementOptions());
    
    if (await featureManager.IsEnabledAsync("Beta"))
    {
        Console.WriteLine("Welcome to the beta!");
    }
    
    Console.WriteLine("Hello World!");
    

在本地生成并运行应用

  1. 将名为 ConnectionString 的环境变量设置为应用程序配置存储区的连接字符串 。

    如果使用 Windows 命令提示符,请运行以下命令。

    setx ConnectionString "connection-string-of-your-app-configuration-store"
    

    重启命令提示符以使更改生效。 输出环境变量的值以验证其设置是否正确。

  2. 重启 Visual Studio 以便使所做更改生效。

  3. 按 Ctrl + F5 构建并运行应用程序。

  4. 控制台中应会显示以下输出。

    禁用了功能标志的应用

  5. 登录 Azure 门户。 选择“所有资源”,然后选择先前创建的应用程序配置存储。

  6. 选择“功能管理器”并找到“Beta”功能标志。 通过选中“已启用”下的复选框来启用该标志。

  7. 再次运行应用程序。 控制台中应会显示 Beta 消息。

    启用了功能标志的应用

清理资源

如果不想继续使用本文中创建的资源,请删除此处创建的资源组以避免产生费用。

重要

删除资源组的操作不可逆。 将永久删除资源组以及其中的所有资源。 请确保不要意外删除错误的资源组或资源。 如果在包含要保留的其他资源的资源组中创建了本文的资源,请从相应的窗格中单独删除每个资源,而不是删除该资源组。

  1. 登录到 Azure 门户,然后选择“资源组”。
  2. 在“按名称筛选”框中,输入资源组的名称
  3. 在结果列表中,选择资源组名称以查看概述。
  4. 选择“删除资源组”。
  5. 系统会要求确认是否删除资源组。 重新键入资源组的名称进行确认,然后选择“删除” 。

片刻之后,将会删除该资源组及其所有资源。

后续步骤

在本快速入门中,你在应用程序配置中创建了一个功能标志,并将其用于控制台应用。 若要了解如何在不重启应用程序的情况下动态更新功能标志和其他配置值,请继续学习下一教程。

若要为其他类型的应用启用功能管理功能,请继续阅读以下教程。

有关 .NET 功能管理库的完整功能概要,请继续阅读以下文档。