Краткое руководство. Создание приложения 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:Параметры:BackgroundColor | white |
TestApp:Параметры:FontColor | black |
TestApp:Параметры:FontSize | 24 |
TestApp:Параметры: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 --framework net6.0
Подключение к хранилищу Конфигурации приложений
Перейдите в каталог TestAppConfig проекта и выполните следующую команду, чтобы добавить ссылку на пакет NuGet Microsoft.Azure.AppConfiguration.AspNetCore :
dotnet add package Microsoft.Azure.AppConfiguration.AspNetCore
Выполните следующую команду. Команда использует диспетчер секретов для хранения секрета с именем
ConnectionStrings:AppConfig
, который сохраняет строка подключения для хранилища Конфигурация приложений. Замените заполнитель<your_connection_string>
строкой подключения из хранилища Конфигурации приложений. Вы можете найти строка подключения в разделе "Ключи доступа" хранилища Конфигурация приложений в портал Azure.dotnet user-secrets init dotnet user-secrets set ConnectionStrings:AppConfig "<your_connection_string>"
Совет
Некоторые оболочки усекают строки подключения, которые не заключены в кавычки. Убедитесь, что вывод команды
dotnet user-secrets list
отображает полную строку подключения. В противном случае повторно выполните команду, заключив строку подключения в кавычки.Диспетчер секретов хранит секрет за пределами дерева проекта, что помогает предотвратить случайный общий доступ к секретам в исходном коде. Он используется только для локального тестирования веб-приложения. При развертывании приложения в Azure, например Служба приложений, используйте строки Подключение ion, параметры приложения или переменные среды для хранения строка подключения. Кроме того, чтобы избежать строка подключения все вместе, вы можете подключиться к Конфигурация приложений с помощью управляемых удостоверений или других удостоверений Microsoft Entra.
Откройте Program.cs и добавьте Конфигурация приложений Azure в качестве дополнительного
AddAzureAppConfiguration
источника конфигурации путем вызова метода.var builder = WebApplication.CreateBuilder(args); // Retrieve the connection string string connectionString = builder.Configuration.GetConnectionString("AppConfig"); // Load configuration from Azure App Configuration builder.Configuration.AddAzureAppConfiguration(connectionString); // The rest of existing code in program.cs // ... ...
Этот код подключается к хранилищу Конфигурация приложений с помощью строка подключения и загружает все значения ключей, у которых нет меток. Дополнительные сведения о поставщике Конфигурация приложений см. в справочнике по API Конфигурация приложений поставщика.
Чтение из хранилища конфигураций приложений
В этом примере вы обновите веб-страницу, чтобы отобразить его содержимое с помощью параметров, настроенных в хранилище Конфигурация приложений.
Добавьте файл Параметры.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 для динамического обновления параметров конфигурации, перейдите к следующему руководству.