你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

快速入门:向 .NET Framework 应用添加功能标志

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

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

先决条件

创建应用配置存储区

  1. 若要创建新应用程序配置存储区,请登录 Azure 门户

  2. 在主页的左上角,选择“创建资源” 。

  3. 在“搜索服务和市场”框中,输入“应用程序配置”,然后选择 Enter

    显示“搜索应用程序配置”页面的屏幕截图。

  4. 在搜索结果中选择“应用程序配置”,然后选择“创建” 。

    显示“创建”页面的屏幕截图。

  5. 在“创建应用配置”窗格中,输入以下设置:

    设置 建议的值 说明
    订阅 订阅 选择要用来测试应用配置的 Azure 订阅。 如果帐户只有一个订阅,则会自动选择该订阅并且不显示“订阅”列表 。
    资源组 AppConfigTestResources 为应用程序配置存储区资源选择或创建资源组。 此组可用于组织多个资源,删除该资源组可以同时删除这些资源。 有关详细信息,请参阅使用资源组管理 Azure 资源
    资源名称 全局唯一名称 输入要用于应用程序配置存储区资源的唯一资源名称。 该名称必须是包含 5 到 50 个字符的字符串,只能包含数字、字母和 - 字符。 该名称的开头或末尾不能是 - 字符。
    位置 美国中部 使用“位置”指定在其中托管应用配置存储区的地理位置 。 为获得最佳性能,请在应用程序的其他组件所在的同一区域创建资源。
    定价层 免费 选择所需的定价层。 有关详细信息,请参阅应用配置定价页
  6. 选择“查看 + 创建”以验证自己的设置 。

  7. 选择“创建”。 部署可能需要几分钟。

  8. 部署完成后,转到“应用程序配置”资源。 选择“设置”“访问密钥”。 记下只读主密钥连接字符串。 稍后将使用此连接字符串来配置应用程序,以与创建的应用程序配置存储区进行通信。

  1. 选择“功能管理器”>“+添加”以添加名为 Beta 的功能标志。

    启用名为 Beta 的功能标志

    暂时不定义 label

创建 .NET 控制台应用

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

  2. 创建新项目中,针对“控制台” 项目类型进行筛选,然后单击“控制台应用(.NET Framework)” 。 单击“下一步”。

  3. 配置新项目中,输入项目名称。 在“Framework” 下,选择“.NET Framework 4.8” 或更高版本。 单击“创建”。

连接到应用程序配置存储区

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

    Microsoft.Extensions.DependencyInjection
    Microsoft.Extensions.Configuration.AzureAppConfiguration
    Microsoft.FeatureManagement
    
  2. 打开文件 Program.cs 并添加以下语句:

    using Microsoft.Extensions.DependencyInjection;
    using Microsoft.Extensions.Configuration;
    using Microsoft.Extensions.Configuration.AzureAppConfiguration;
    using Microsoft.FeatureManagement;
    using System.Threading.Tasks;
    
  3. 更新 Main 方法以连接到应用程序配置,指定 UseFeatureFlags 选项以检索功能标志。 若启用 Beta 功能标志,将显示一条消息。

        public static async Task Main(string[] args)
        {         
            IConfigurationRoot configuration = new ConfigurationBuilder()
                .AddAzureAppConfiguration(options =>
                {
                    options.Connect(Environment.GetEnvironmentVariable("ConnectionString"))
                           .UseFeatureFlags();
                }).Build();
    
            IServiceCollection services = new ServiceCollection();
    
            services.AddSingleton<IConfiguration>(configuration).AddFeatureManagement();
    
            using (ServiceProvider serviceProvider = services.BuildServiceProvider())
            {
                IFeatureManager featureManager = serviceProvider.GetRequiredService<IFeatureManager>();
    
                if (await featureManager.IsEnabledAsync("Beta"))
                {
                    Console.WriteLine("Welcome to the beta!");
                }
            }
    
            Console.WriteLine("Hello World!");
            Console.WriteLine("Press any key to continue ...");
            Console.Read();
        }
    

在本地生成并运行应用

  1. 将名为 ConnectionString 的环境变量设置为应用程序配置存储区的连接字符串 。 如果使用 Windows 命令提示符,请运行以下命令:

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

    如果使用 Windows PowerShell,请运行以下命令:

        $Env:ConnectionString = "connection-string-of-your-app-configuration-store"
    
  2. 重启 Visual Studio 以便使所做更改生效。

  3. 按 Ctrl+F5 生成并运行控制台应用。

    启用了功能标志的应用

清理资源

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

重要

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

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

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

后续步骤

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