Compartir a través de

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

本快速入门将使用 Azure 应用程序配置来外部化 ASP.NET Core 应用的应用程序设置的存储和管理。 ASP.NET Core 使用来自一个或多个配置提供程序的设置生成单个基于键值的配置对象。 应用程序配置提供了一个 .NET 配置提供程序库。 因此,可以使用应用程序配置作为应用的额外配置源。 如果你有一个现有的应用,要开始使用应用程序配置,你只需要对你的应用启动代码进行一些小更改。

先决条件

添加键值

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

密钥
TestApp:Settings:BackgroundColor white
TestApp:Settings:FontColor black
TestApp:Settings:FontSize 24
TestApp:Settings:Message Azure 应用配置的数据

创建一个 ASP.NET Core Web 应用

使用 .NET Core 命令行接口 (CLI) 创建新的 ASP.NET Core Web 应用项目。

运行以下命令,在新的 TestAppConfig 文件夹中创建 ASP.NET Core Web 应用:

dotnet new webapp --output TestAppConfig --framework net6.0

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

使用 Microsoft Entra ID(建议)或连接字符串连接到应用程序配置存储区。

  1. 导航到项目的目录 TestAppConfig,并运行以下命令来添加 NuGet 包引用。

    dotnet add package Microsoft.Azure.AppConfiguration.AspNetCore
    dotnet add package Azure.Identity
    
  2. 运行以下命令,还原项目包:

    dotnet restore
    
  3. 通过导航到 TestAppConfig 文件夹并运行以下命令,为应用程序创建用户机密。

    该命令使用机密管理器来存储名为 Endpoints:AppConfiguration 的机密,该机密存储应用程序配置存储区的终结点。 将 <your-App-Configuration-endpoint> 占位符替换为应用程序配置存储区的终结点。 在 Azure 门户中,可以在应用程序配置存储区的“概览”边栏选项卡中找到终结点。

    dotnet user-secrets init
    dotnet user-secrets set Endpoints:AppConfiguration "<your-App-Configuration-endpoint>"
    
  4. 打开 Program.cs 并添加以下命名空间:

    using Microsoft.Extensions.Configuration;
    using Microsoft.Azure.AppConfiguration.AspNetCore;
    using Azure.Identity;
    
  5. 通过调用 Program.cs 文件中的 AddAzureAppConfiguration 方法连接到应用程序配置存储区。

    可以使用 DefaultAzureCredential 向应用程序配置存储区进行身份验证。 按照说明为凭据分配应用程序配置数据读取者角色。 在运行应用程序之前,请务必留出足够的时间来传播权限。

    var builder = WebApplication.CreateBuilder(args); 
    
    // Load configuration from Azure App Configuration 
    builder.Configuration.AddAzureAppConfiguration(options =>
    {
        string endpoint = builder.Configuration.Get("Endpoints:AppConfiguration");
        options.Connect(new Uri(endpoint), new DefaultAzureCredential());
    });
    
     // The rest of existing code in program.cs
    // ... ...    
    

    此代码从应用程序配置存储区加载没有标签所有键值。 有关从应用程序配置加载数据的更多信息,请参阅应用程序配置提供程序 API 参考

从应用程序配置存储区读取数据

在此示例中,你将使用你在应用程序配置存储区中配置的设置来更新网页以显示其内容。

  1. 在项目目录的根目录下添加一个 Settings.cs 文件。 它为你要使用的配置定义了一个强类型 Settings 类。 将命名空间替换为项目的名称。

    namespace TestAppConfig
    {
        public class Settings
        {
            public string BackgroundColor { get; set; }
            public long FontSize { get; set; }
            public string FontColor { get; set; }
            public string Message { get; set; }
        }
    }
    
  2. 将配置中的 TestApp:Settings 节绑定到 Settings 对象。

    使用以下代码更新 Program.cs,并在该文件的开头添加 TestAppConfig 命名空间。

    using TestAppConfig;
    
    // Existing code in Program.cs
    // ... ...
    
    builder.Services.AddRazorPages();
    
    // Bind configuration "TestApp:Settings" section to the Settings object
    builder.Services.Configure<Settings>(builder.Configuration.GetSection("TestApp:Settings"));
    
    var app = builder.Build();
    
    // The rest of existing code in program.cs
    // ... ...
    
  3. 打开页面目录中的 Index.cshtml.cs,并使用以下代码更新 IndexModel 类。 在文件开头添加 using Microsoft.Extensions.Options 命名空间(如果尚不存在)。

    public class IndexModel : PageModel
    {
        private readonly ILogger<IndexModel> _logger;
    
        public Settings Settings { get; }
    
        public IndexModel(IOptionsSnapshot<Settings> options, ILogger<IndexModel> logger)
        {
            Settings = options.Value;
            _logger = logger;
        }
    }
    
  4. 打开页面目录中的 Index.cshtml,并使用以下代码更新内容。

    @page
    @model IndexModel
    @{
        ViewData["Title"] = "Home page";
    }
    
    <style>
        body {
            background-color: @Model.Settings.BackgroundColor;
        }
    
        h1 {
            color: @Model.Settings.FontColor;
            font-size: @(Model.Settings.FontSize)px;
        }
    </style>
    
    <h1>@Model.Settings.Message</h1>
    

在本地生成并运行应用

  1. 若要使用 .NET CLI 生成应用,请导航到项目的根目录。 在命令行界面中运行以下命令:

    dotnet build
    
  2. 生成成功完成后,请运行以下命令以在本地运行 Web 应用:

    dotnet run
    
  3. 打开浏览器,导航到应用程序正在侦听的 URL(命令输出中指定的)。 应类似于 https://localhost:5001

    网页将如下所示:在本地启动快速入门应用

清理资源

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

重要

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

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

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

后续步骤

在本快速入门中,请执行以下操作:

  • 预配新的应用程序配置存储区。
  • 使用应用程序配置提供程序库连接到你的应用程序配置存储区。
  • 使用配置提供程序库读取应用程序配置存储区的键值。
  • 使用在应用程序配置存储区中配置的设置显示网页。

若要了解如何配置 ASP.NET Core Web 应用以动态刷新配置设置,请继续学习下一个教程。