快速入门:使用 Azure 应用配置创建 .NET Framework 应用

你可以通过两种方法将 Azure 应用程序配置合并到基于 .NET Framework 的应用中。

  • 应用程序配置的配置生成器允许将应用程序配置中的数据加载到应用设置。 和往常一样,应用通过 ConfigurationManager 访问配置。 除了更新 app.config 或 web.config 文件,你无需更改任何代码 。 本快速入门将逐步介绍此选项。
  • 根据 .NET Framework 的设计,只能在应用程序重启时刷新应用设置。 应用配置 .NET 提供程序是一个 .NET Standard 库。 它支持动态缓存和刷新配置,而无需重启应用程序。 如果动态配置对你很重要,并且你愿意更改代码,请参阅有关如何在 .NET Framework 控制台应用ASP.NET Web 应用中实现动态配置更新的教程。

本快速入门将以 .NET Framework 控制台应用为例,但这些方法同样适用于 ASP.NET Web Forms/MVC 应用。

先决条件

添加键值

将以下键值添加到应用程序配置存储区,并让“标签”和“内容类型”保留默认值。 有关如何使用 Azure 门户或 CLI 将键值添加到存储区的详细信息,请转到创建键值

密钥
TestApp:Settings:Message Azure 应用配置的数据

创建 .NET Framework 控制台应用

  1. 启动 Visual Studio 并选择“创建新项目”。

  2. 在“创建新项目”中,按“控制台”项目类型进行筛选,然后从项目模板列表中选择“控制台应用(.NET Framework)”,语言为 C# 。 按“下一步”。

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

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

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

    • Microsoft.Configuration.ConfigurationBuilders.AzureAppConfiguration 1.0.0 或更高版本
    • Microsoft.Configuration.ConfigurationBuilders.Environment 2.0.0 或更高版本
    • System.Configuration.ConfigurationManager 4.6.0 或更高版本
  2. 如下所述,更新项目的 App.config 文件 :

    <configSections>
        <section name="configBuilders" type="System.Configuration.ConfigurationBuildersSection, System.Configuration, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" restartOnExternalChanges="false" requirePermission="false" />
    </configSections>
    
    <configBuilders>
        <builders>
            <add name="MyConfigStore" mode="Greedy" connectionString="${ConnectionString}" type="Microsoft.Configuration.ConfigurationBuilders.AzureAppConfigurationBuilder, Microsoft.Configuration.ConfigurationBuilders.AzureAppConfiguration" />
            <add name="Environment" mode="Greedy" type="Microsoft.Configuration.ConfigurationBuilders.EnvironmentConfigBuilder, Microsoft.Configuration.ConfigurationBuilders.Environment" />
        </builders>
    </configBuilders>
    
    <appSettings configBuilders="Environment,MyConfigStore">
        <add key="AppName" value="Console App Demo" />
        <add key="ConnectionString" value ="Set via an environment variable - for example, dev, test, staging, or production connection string." />
    </appSettings>
    

    从环境变量 ConnectionString 中读取应用程序配置存储区的连接字符串。 在 appSettings 部分的 configBuilders 属性中,在 MyConfigStore 之前添加 Environment 配置生成器。

  3. 打开 Program.cs 并更新 Main 方法,以通过调用 ConfigurationManager 来使用应用程序配置 。

    static void Main(string[] args)
    {
        string message = System.Configuration.ConfigurationManager.AppSettings["TestApp:Settings:Message"];
    
        Console.WriteLine(message);
        Console.ReadKey();
    }
    

生成并运行应用

  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 控制台应用。 若要了解如何使 .NET Framework 应用能够动态刷新配置设置,请继续学习下一篇教程。