你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
在本快速入门中,你将 Azure 应用配置合并到 .NET 或 .NET Framework 控制台应用中,以创建功能管理的端到端实现。 可以使用应用配置集中存储所有功能标志并控制其状态。
.NET 功能管理库通过提供功能标志支持来扩展 .NET。 这些库在 .NET 配置系统的基础上构建。 它们通过其 .NET 配置提供程序与应用程序配置集成。
Prerequisites
- 具有活动订阅的 Azure 帐户。 免费创建一个。
- 应用配置存储,如 创建应用配置存储的快速入门指南中所示。
- Visual Studio。
- 适用于 .NET 控制台应用的 .NET SDK 8.0 或更高版本 。
- 适用于 .NET Framework 控制台应用的 .NET Framework 4.7.2 或更高版本 。
添加功能标志
将名为“Beta”的功能标志添加到应用程序配置存储区,并将“标签”和“描述”保留为其默认值。 有关如何使用 Azure 门户或 Azure CLI 将功能标志添加到商店的详细信息,请参阅 创建功能标志。
配置访问设置
在本快速入门中创建的应用将连接到应用程序配置存储区,以访问功能标志设置。 若要连接到应用配置,应用可以使用 Microsoft Entra ID 或连接字符串。 建议使用Microsoft Entra ID。
分配应用配置数据角色
默认情况下,创建的应用使用 DefaultAzureCredential 向应用配置存储进行身份验证。
DefaultAzureCredential 是令牌凭据链。 要使授权正常工作,需要将“应用程序配置数据读取者”角色授予应用使用的凭据。 有关说明,请参阅 使用令牌凭据进行身份验证。 让角色分配有足够时间进行传播,然后再运行应用程序。
设置环境变量
应用使用环境变量建立与应用配置的连接。 使用以下命令之一将名为 Endpoint 的环境变量设置为应用程序配置存储的终结点。
如果使用命令提示符,请运行以下命令:
setx Endpoint "<endpoint-of-your-app-configuration-store>"关闭并重新打开命令提示符,使更改生效。 通过将环境变量的值打印到控制台来验证是否已设置环境变量。
如果使用 Windows PowerShell,请运行以下命令:
[System.Environment]::SetEnvironmentVariable("Endpoint", "<endpoint-of-your-app-configuration-store>", "User")
创建控制台应用
若要使用 Visual Studio 创建新的控制台应用项目,请执行以下步骤。
打开 Visual Studio。 如果它已在运行,请关闭并重新打开它,以便它识别在上一部分中设置的环境变量。
在 Visual Studio 中,选择“ 文件>新建>项目”。
在“ 创建新项目 ”对话框中,在搜索框中输入 控制台 。
- 如果要创建 .NET 应用,请选择 控制台应用,然后选择“ 下一步”。
- 如果要创建 .NET Framework 应用,请选择 控制台应用(.NET Framework),然后选择“ 下一步”。
在 “配置新项目 ”对话框中,输入项目名称。
- 如果要创建 .NET 应用,请选择 “下一步 ”以打开 “其他信息 ”对话框。 在该对话框中,选择 .NET Framework,清除 “不要使用顶级语句 ”复选框,然后选择“ 创建”。
- 如果要创建 .NET Framework 应用,请选择 Framework 下的 .NET Framework 4.7.2 或更高版本,然后选择“创建”。
使用功能标志
若要在应用中使用功能标志,请执行以下步骤。
在 解决方案资源管理器中,右键单击项目,然后选择“ 管理 NuGet 包”。
在 “浏览 ”选项卡上,搜索以下 NuGet 包的最新稳定版本并将其添加到项目中:
- Microsoft.Extensions.Configuration.AzureAppConfiguration
- Microsoft.FeatureManagement
- Azure.Identity
打开 Program.cs ,并将以下语句添加到文件的开头。
using Microsoft.Extensions.Configuration; using Microsoft.Extensions.Configuration.AzureAppConfiguration; using Microsoft.FeatureManagement; using Azure.Identity;如以下代码块所示,通过进行三项更改来更新 Program.cs :
- 要从应用配置加载功能标志,请调用
UseFeatureFlags方法。 - 若要从配置中读取功能标志,请创建一
FeatureManager个实例。 - 如果启用了 Beta 功能标志,则显示一条消息。
.NET
IConfiguration configuration = new ConfigurationBuilder() .AddAzureAppConfiguration(options => { string endpoint = Environment.GetEnvironmentVariable("Endpoint"); options.Connect(new Uri(endpoint), new DefaultAzureCredential()) .UseFeatureFlags(); }).Build(); var featureManager = new FeatureManager( new ConfigurationFeatureDefinitionProvider(configuration)); if (await featureManager.IsEnabledAsync("Beta")) { Console.WriteLine("Welcome to the beta!"); } Console.WriteLine("Hello World!");.NET Framework
public static async Task Main(string[] args) { IConfiguration configuration = new ConfigurationBuilder() .AddAzureAppConfiguration(options => { string endpoint = Environment.GetEnvironmentVariable("Endpoint"); options.Connect(new Uri(endpoint), new DefaultAzureCredential()) .UseFeatureFlags(); }).Build(); var featureManager = new FeatureManager( new ConfigurationFeatureDefinitionProvider(configuration)); if (await featureManager.IsEnabledAsync("Beta")) { Console.WriteLine("Welcome to the beta!"); } Console.WriteLine("Hello World!"); }- 要从应用配置加载功能标志,请调用
在本地生成并运行应用
在 Visual Studio 中,选择 Ctrl+F5 以生成并运行应用程序。 控制台中应显示以下输出。
登录 Azure 门户。 选择“所有资源”,然后选择你的应用配置存储库。
选择“功能管理器”并找到“Beta”功能标志。 打开 “已启用” 开关以启用标志。
再次运行应用程序。 Beta 消息应显示在控制台中。
清理资源
如果不想继续使用本文中创建的资源,请删除此处创建的资源组以避免产生费用。
重要说明
删除资源组的操作不可逆。 将永久删除资源组以及其中的所有资源。 请确保不要意外删除错误的资源组或资源。 如果在包含要保留的其他资源的资源组中创建了本文的资源,请从相应的窗格中单独删除每个资源,而不是删除该资源组。
- 登录到 Azure 门户,然后选择“资源组”。
- 在“按名称筛选”框中,输入资源组的名称。
- 在结果列表中,选择资源组名称以查看概述。
- 选择“删除资源组”。
- 系统会要求确认是否删除资源组。 重新键入资源组的名称进行确认,然后选择“删除”。
片刻之后,将会删除该资源组及其所有资源。
Next steps
在本快速入门中,你在应用程序配置中创建了一个功能标志,并将其用于控制台应用。 若要了解如何在不重启应用程序的情况下动态更新功能标志和其他配置值,请参阅以下教程:
若要为其他类型的应用启用功能管理功能,请参阅以下快速入门:
有关 .NET 功能管理库的完整功能概述,请参阅以下文档: