빠른 시작: .NET/.NET Framework 콘솔 앱에 기능 플래그 추가

이 빠른 시작에서는 Azure App Configuration을 .NET 콘솔 앱에 통합하여 엔드투엔드 기능 관리를 구현하는 방법을 보여 줍니다. App Configuration을 사용하면 모든 기능 플래그를 중앙에 저장하고 해당 상태를 제어할 수 있습니다.

.NET 기능 관리 라이브러리는 기능 플래그 지원을 통해 프레임워크를 확장합니다. 이 라이브러리는 .NET 구성 시스템을 기반으로 빌드됩니다. 해당 .NET 구성 공급자를 통해 App Configuration과 통합됩니다.

필수 조건

기능 플래그 추가

App Configuration 저장소에 베타라는 기능 플래그를 추가하고 레이블설명을 기본값으로 둡니다. Azure Portal 또는 CLI를 사용하여 저장소에 기능 플래그를 추가하는 방법에 대한 자세한 내용은 기능 플래그 만들기로 이동하세요.

Beta라는 기능 플래그 사용

콘솔 앱 만들기

Visual Studio를 사용하여 새 콘솔 앱 프로젝트를 만들 수 있습니다.

  1. Visual Studio를 시작하고 파일>새로 만들기>프로젝트를 차례로 선택합니다.

  2. 새 프로젝트 만들기에서 콘솔 프로젝트 유형을 필터링하고 콘솔 앱을 선택합니다. .NET Framework 앱을 만들려면 콘솔 앱(.NET Framework)을 대신 선택하세요. 다음을 클릭합니다.

  3. 새 프로젝트 구성에서 프로젝트 이름을 입력합니다. .NET Framework 앱을 만드는 경우 Framework에서 .NET Framework 4.7.2 이상을 선택하세요. 만들기를 클릭합니다.

기능 플래그 사용

  1. 마우스 오른쪽 단추로 프로젝트를 클릭하고, NuGet 패키지 관리를 선택합니다. 찾아보기 탭에서 다음 NuGet 패키지를 검색하여 프로젝트에 추가합니다.

    Microsoft.Extensions.Configuration.AzureAppConfiguration
    Microsoft.FeatureManagement
    

    Microsoft.FeatureManagement의 버전이 3.1.0보다 큰지 확인합니다.

  2. Program.cs를 열고, 다음 명령문을 추가합니다.

    using Microsoft.Extensions.Configuration;
    using Microsoft.Extensions.Configuration.AzureAppConfiguration;
    using Microsoft.FeatureManagement;
    
  3. App Configuration에 연결하고 기능 플래그가 검색되도록 UseFeatureFlags 옵션을 지정합니다. 구성에서 기능 플래그 정의를 제공하는 ConfigurationFeatureDefinitionProvider을(를) 만들고 기능 플래그의 상태를 평가하는 FeatureManager을(를) 만듭니다. 그런 다음, Beta 기능 플래그가 설정된 경우 메시지를 표시합니다.

    IConfiguration configuration = new ConfigurationBuilder()
        .AddAzureAppConfiguration(options =>
        {
            options.Connect(Environment.GetEnvironmentVariable("ConnectionString"))
                .UseFeatureFlags();
        }).Build();
    
    IFeatureDefinitionProvider featureDefinitionProvider = new ConfigurationFeatureDefinitionProvider(configuration);
    
    IFeatureManager featureManager = new FeatureManager(
        featureDefinitionProvider, 
        new FeatureManagementOptions());
    
    if (await featureManager.IsEnabledAsync("Beta"))
    {
        Console.WriteLine("Welcome to the beta!");
    }
    
    Console.WriteLine("Hello World!");
    

로컬로 앱 빌드 및 실행

  1. ConnectionString이라는 환경 변수를 App Configuration 저장소의 연결 문자열로 설정합니다.

    Windows 명령 프롬프트를 사용하는 경우 다음 명령을 실행합니다.

    setx ConnectionString "connection-string-of-your-app-configuration-store"
    

    명령 프롬프트를 다시 시작하여 변경 내용을 적용합니다. 환경 변수의 값을 출력하여 올바르게 설정되었는지 확인합니다.

  2. Visual Studio를 다시 시작하여 변경 내용을 적용합니다.

  3. Ctrl+F5 키를 눌러 애플리케이션을 빌드 및 실행합니다.

  4. 콘솔에 다음 출력이 표시됩니다.

    기능 플래그가 비활성화된 앱

  5. Azure Portal에 로그인합니다. 모든 리소스를 선택하고 이전에 만든 App Configuration 저장소를 선택합니다.

  6. 기능 관리자를 선택하고 베타 기능 플래그를 찾습니다. 사용 아래의 확인란을 선택하여 플래그를 사용하도록 설정합니다.

  7. 애플리케이션을 다시 실행합니다. 콘솔에 베타 메시지가 표시됩니다.

    기능 플래그가 설정된 앱

리소스 정리

이 문서에서 만든 리소스를 계속 사용하지 않으려면 여기서 만든 리소스 그룹을 삭제하여 요금이 부과되지 않도록 합니다.

Important

리소스 그룹을 삭제하면 다시 되돌릴 수 없습니다. 리소스 그룹 및 포함된 모든 리소스가 영구적으로 삭제됩니다. 잘못된 리소스 그룹 또는 리소스를 자동으로 삭제하지 않도록 합니다. 유지하려는 다른 리소스가 포함된 리소스 그룹 내에서 이 문서에 대한 리소스를 만든 경우 리소스 그룹을 삭제하는 대신 해당 창에서 각 리소스를 개별적으로 삭제합니다.

  1. Azure Portal에 로그인하고 리소스 그룹을 선택합니다.
  2. 이름으로 필터링 상자에서 리소스 그룹의 이름을 입력합니다.
  3. 결과 목록에서 리소스 그룹 이름을 선택하여 개요를 확인합니다.
  4. 리소스 그룹 삭제를 선택합니다.
  5. 리소스 그룹 삭제를 확인하는 메시지가 표시됩니다. 리소스 그룹의 이름을 입력하여 확인하고 삭제를 선택합니다.

잠시 후, 리소스 그룹 및 모든 해당 리소스가 삭제됩니다.

다음 단계

이 빠른 시작에서는 App Configuration에 기능 플래그를 만들고 콘솔 앱에 사용했습니다. 애플리케이션을 다시 시작하지 않고 기능 플래그 및 기타 구성 값을 동적으로 업데이트하는 방법을 알아보려면 다음 자습서를 계속 진행합니다.