Краткое руководство. Добавление флагов функций в приложение .NET Framework

В этом кратком руководстве описано, как внедрить Конфигурацию приложений Azure в приложение .NET Framework, чтобы реализовать комплексное управление функциями. Вы можете использовать службу "Конфигурация приложений" для централизованного хранения всех флагов функций и управления их состояниями.

Библиотеки управления функциями .NET расширяют возможности платформы за счет поддержки флагов функций. Эти библиотеки создаются на основе системы конфигурации .NET. Они интегрируются со службой "Конфигурация приложений" посредством поставщика конфигураций .NET.

Предварительные требования

Создание хранилища Конфигурации приложений

  1. Чтобы создать хранилище Конфигурации приложений, войдите на портал Azure. Выберите Создать ресурс в левом верхнем углу домашней страницы. В поле Поиск в Marketplace введите Конфигурация приложений и нажмите клавишу ВВОД.

    Поиск службы конфигурации приложений

  2. В результатах поиска выберите Конфигурация приложений и щелкните Создать.

    Нажмите кнопку "Создать"

  3. В области создания Конфигурации приложений введите следующие параметры:

    Параметр Рекомендуемое значение Описание
    Подписка Ваша подписка Выберите подписку Azure, которую нужно использовать для тестирования конфигурации приложений. Если в вашей учетной записи есть только одна подписка, она выбирается автоматически, а список Подписка не отображается.
    Группа ресурсов AppConfigTestResources Выберите или создайте группу ресурсов для ресурса хранилища Конфигурации приложений. Эта группа может быть полезна для упорядочения нескольких ресурсов, которые может потребоваться удалить одновременно путем удаления группы ресурсов. Дополнительные сведения см. в статье Управление ресурсами Azure через портал.
    Имя ресурса Глобально уникальное имя Введите уникальное имя для ресурса хранилища Конфигурации приложений. Имя должно быть строкой длиной от 5 до 50 символов и содержать только цифры, буквы и символ -. Имя не может начинаться или заканчиваться символом -.
    Местоположение Центральная часть США В поле Расположение укажите, где будет географически располагаться хранилище конфигураций приложения. Для наилучшей производительности создайте ресурс в одном регионе с другими компонентами приложения.
    Ценовая категория Бесплатный Выберите нужную ценовую категорию. Дополнительные сведения см.на странице с ценами на Конфигурацию приложений.
  4. Чтобы проверить параметры, выберите Просмотр и создание.

  5. Нажмите кнопку Создать. Развертывание может занять несколько минут.

  6. По завершении развертывания перейдите к ресурсу Конфигурации приложений. Выберите Параметры > Ключи доступа. Запишите первичный ключ строки подключения только для чтения. Она пригодится позже для настройки обмена данными между приложением и созданным хранилищем Конфигурации приложений.

  1. Выберите Диспетчер компонентов > +Добавить, чтобы добавить флаг функции Beta.

    Включение флага функции с именем Beta

    Не определяйте label сейчас.

Создайте консольное приложение .NET

  1. Запустите Visual Studio и выберите Файл > Создать > Проект.

  2. В разделе Создание проекта с помощью фильтра найдите тип проекта Консоль и щелкните Консольное приложение (.NET Framework) . Щелкните Далее.

  3. В окне Настроить новый проект введите имя проекта. В разделе Платформа выберите .NET Framework 4.8 или более позднюю версию. Нажмите кнопку Создать.

Подключение к хранилищу Конфигурации приложений

  1. Щелкните проект правой кнопкой мыши и выберите Управление пакетами NuGet. На вкладке Обзор найдите и добавьте в проект следующие пакеты NuGet. Если вы не можете их найти, установите флажок Включить предварительные выпуски.

    Microsoft.Extensions.DependencyInjection
    Microsoft.Extensions.Configuration.AzureAppConfiguration
    Microsoft.FeatureManagement
    
  2. Откройте файл Program.cs и добавьте следующие инструкции:

    using Microsoft.Extensions.DependencyInjection;
    using Microsoft.Extensions.Configuration;
    using Microsoft.Extensions.Configuration.AzureAppConfiguration;
    using Microsoft.FeatureManagement;
    using System.Threading.Tasks;
    
  3. Обновите метод Main для подключения к Конфигурации приложения, указав параметр UseFeatureFlags, чтобы получить флаги функции. Затем отобразите сообщение, если флаг функции Beta включен.

        public static async Task Main(string[] args)
        {         
            IConfigurationRoot configuration = new ConfigurationBuilder()
                .AddAzureAppConfiguration(options =>
                {
                    options.Connect(Environment.GetEnvironmentVariable("ConnectionString"))
                           .UseFeatureFlags();
                }).Build();
    
            IServiceCollection services = new ServiceCollection();
    
            services.AddSingleton<IConfiguration>(configuration).AddFeatureManagement();
    
            using (ServiceProvider serviceProvider = services.BuildServiceProvider())
            {
                IFeatureManager featureManager = serviceProvider.GetRequiredService<IFeatureManager>();
    
                if (await featureManager.IsEnabledAsync("Beta"))
                {
                    Console.WriteLine("Welcome to the beta!");
                }
            }
    
            Console.WriteLine("Hello World!");
            Console.WriteLine("Press any key to continue ...");
            Console.Read();
        }
    

Создание и запуск приложения локально

  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. Сведения о динамическом обновлении флагов функций и других значениях конфигурации без перезапуска приложения, см. в следующем руководстве.