Краткое руководство. Создание приложения ASP.NET Core с помощью Конфигурация приложений Azure
В этом кратком руководстве вы будете использовать Конфигурация приложений Azure для внешнего хранения и управления параметрами приложения для приложения ASP.NET Core. ASP.NET Core создает один объект конфигурации на основе ключа с использованием параметров от одного или нескольких поставщиков конфигурации. Конфигурация приложений предоставляет библиотеку поставщика конфигурации .NET. Таким образом, вы можете использовать Конфигурация приложений в качестве дополнительного источника конфигурации для приложения. Если у вас есть существующее приложение, чтобы начать использовать Конфигурация приложений, вам потребуется лишь несколько небольших изменений в коде запуска приложения.
Необходимые компоненты
- Учетная запись Azure с активной подпиской. Создайте ее бесплатно.
- Хранилище Конфигурация приложений. Создайте хранилище.
- Пакет SDK для .NET версии 6.0 или более поздней версии
Совет
Azure Cloud Shell — это бесплатная интерактивная оболочка, с помощью которой можно выполнять инструкции командной строки, описанные в этой статье. В ней есть стандартные средства Azure, включая пакет SDK для .NET. Если вы вошли в подписку Azure, запустите Azure Cloud Shell на сайте shell.azure.com. Дополнительные сведения об Azure Cloud Shell см. в нашей документации
Добавление ключевых значений
Добавьте следующие ключевые значения в хранилище Конфигурация приложений и оставьте метку и тип контента со значениями по умолчанию. Дополнительные сведения о добавлении значений ключей в хранилище с помощью портал Azure или ИНТЕРФЕЙСА командной строки см. в разделе "Создание значения ключа".
Ключ | Значение |
---|---|
TestApp:Settings:BackgroundColor | white |
TestApp:Settings:FontColor | black |
TestApp:Settings:FontSize | 24 |
TestApp:Settings:Message | Данные из Конфигурация приложений Azure |
Создание веб-приложения ASP.NET Core
Используйте интерфейс командной строки .NET (CLI), чтобы создать проект веб-приложения ASP.NET Core. Azure Cloud Shell предоставляет эти инструменты. Они также доступны на платформах Windows, macOS и Linux.
Выполните следующую команду, чтобы создать веб-приложение ASP.NET Core в новой папке TestAppConfig :
dotnet new webapp --output TestAppConfig
Подключение к хранилищу Конфигурации приложений
Подключитесь к хранилищу Конфигурация приложений с помощью идентификатора Microsoft Entra (рекомендуется) или строка подключения.
Перейдите в каталог TestAppConfig проекта и выполните следующую команду, чтобы добавить ссылки на пакеты NuGet.
dotnet add package Microsoft.Azure.AppConfiguration.AspNetCore dotnet add package Azure.Identity
Создайте секрет пользователя для приложения, перейдя в папку TestAppConfig и выполнив следующую команду.
Команда использует диспетчер секретов для хранения секрета с именем
Endpoints:AppConfiguration
, который сохраняет конечную точку для хранилища Конфигурация приложений. Замените<your-App-Configuration-endpoint>
заполнитель конечной точкой хранилища Конфигурация приложений. Конечную точку можно найти в колонке обзора хранилища Конфигурация приложений в портал Azure.dotnet user-secrets init dotnet user-secrets set Endpoints:AppConfiguration "<your-App-Configuration-endpoint>"
Откройте Program.cs и добавьте следующие пространства имен:
using Microsoft.Extensions.Configuration; using Microsoft.Azure.AppConfiguration.AspNetCore; using Azure.Identity;
Подключитесь к хранилищу
AddAzureAppConfiguration
Конфигурация приложений путем вызова метода вProgram.cs
файле.Вы используете
DefaultAzureCredential
для проверки подлинности в хранилище Конфигурация приложений. Следуйте инструкциям, чтобы назначить учетные данные роли чтения данных Конфигурация приложений. Перед запуском приложения обязательно предоставьте достаточно времени для распространения разрешения.var builder = WebApplication.CreateBuilder(args); // Retrieve the endpoint string endpoint = builder.Configuration.GetValue<string>("Endpoints:AppConfiguration") ?? throw new InvalidOperationException("The setting `Endpoints:AppConfiguration` was not found."); // Load configuration from Azure App Configuration builder.Configuration.AddAzureAppConfiguration(options => { options.Connect(new Uri(endpoint), new DefaultAzureCredential()); }); // The rest of existing code in program.cs // ... ...
Этот код загружает все значения ключей, не имеющие метки из хранилища Конфигурация приложений. Дополнительные сведения о загрузке данных из Конфигурация приложений см. в справочнике по API поставщика Конфигурация приложений.
Чтение из хранилища конфигураций приложений
В этом примере вы обновите веб-страницу, чтобы отобразить его содержимое с помощью параметров, настроенных в хранилище Конфигурация приложений.
Добавьте файл 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; } } }
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 // ... ...
Откройте Index.cshtml.cs в каталоге Pages и обновите
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; } }
Откройте Index.cshtml в каталоге Pages и обновите содержимое следующим кодом.
@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>
Создание и запуск приложения локально
Чтобы создать приложение с помощью интерфейса командной строки .NET, перейдите в корневой каталог проекта. Выполните приведенную ниже команду в командной оболочке.
dotnet build
Когда создание завершится, запустите веб-приложение локально с помощью следующей команды:
dotnet run
Выходные данные
dotnet run
команды содержат два URL-адреса. Откройте браузер и перейдите к одному из этих URL-адресов, чтобы получить доступ к приложению. Например:https://localhost:5001
.Если вы работаете в Azure Cloud Shell, нажмите кнопку Просмотр в Интернете, а затем — Настроить. При появлении запроса на настройку порта для предварительной версии введите 5000 и нажмите кнопку "Открыть и просмотреть".
Веб-страница выглядит следующим образом:
Очистка ресурсов
Если вы не планируете в дальнейшем использовать ресурсы, созданные при работе с этой статьей, удалите созданную группу ресурсов, чтобы избежать расходов.
Внимание
Удаление группы ресурсов — процесс необратимый. Группа ресурсов и все содержащиеся в ней ресурсы удаляются без возможности восстановления. Будьте внимательны, чтобы случайно не удалить не те ресурсы или группу ресурсов. Если ресурсы для работы с этой статьей созданы в группе ресурсов, которая содержит другие нужные ресурсы, удалите каждый ресурс отдельно в соответствующей области ресурса, чтобы не удалять группу ресурсов.
- Войдите на портал Azure и выберитеГруппы ресурсов.
- Введите имя группы ресурсов в поле Фильтровать по имени.
- В списке результатов выберите имя группы ресурсов, чтобы просмотреть общие сведения.
- Выберите команду Удалить группу ресурсов.
- Подтвердите операцию удаления группы ресурсов. Введите имя группы ресурсов, которую необходимо удалить, и нажмите Удалить.
Через некоторое время группа ресурсов и все ее ресурсы будут удалены.
Следующие шаги
В этом кратком руководстве вы:
- Подготовлено новое хранилище конфигураций приложений.
- Подключено к хранилищу Конфигурация приложений с помощью библиотеки поставщиков Конфигурация приложений.
- Ознакомьтесь со значениями ключей Конфигурация приложений хранилища с помощью библиотеки поставщика конфигурации.
- Отображается веб-страница с параметрами, настроенными в хранилище Конфигурация приложений.
Чтобы узнать, как настроить веб-приложение ASP.NET Core для динамического обновления параметров конфигурации, перейдите к следующему руководству.