Dela via


Snabbstart: Lägga till funktionsflaggor i en .NET/.NET Framework-konsolapp

I den här snabbstarten införlivar du Azure App Configuration i en .NET- eller .NET Framework-konsolapp för att skapa en implementering av funktionshantering från slutpunkt till slutpunkt. Du kan använda App Configuration för att lagra alla dina funktionsflaggor centralt och styra deras tillstånd.

.NET-funktionshanteringsbiblioteken utökar .NET genom att tillhandahålla stöd för funktionsflagga. De här biblioteken bygger på .NET-konfigurationssystemet. De integreras med App Configuration via dess .NET-konfigurationsprovider.

Förutsättningar

Lägga till en funktionsflagga

Lägg till en funktionsflagga med namnet Beta i App Configuration Store och lämna Etikett och Beskrivning med sina standardvärden. För mer information om hur du lägger till en funktionsflagga i en butik med hjälp av Azure-portalen eller Azure CLI, se Skapa en funktionsflagga.

Skärmbild av dialogrutan Skapa en ny funktionsflagga i Azure-portalen. Namn- och nyckelfälten innehåller Beta. Etiketten och beskrivningen är tomma.

Konfigurera åtkomstinställningar

Appen som du skapar i den här snabbstarten ansluter till appkonfigurationsarkivet för att få åtkomst till inställningarna för funktionsflaggan. Om du vill ansluta till App Configuration kan din app använda Microsoft Entra-ID eller en anslutningssträng. Microsoft Entra-ID är den rekommenderade metoden.

Tilldela en appkonfigurationsdataroll

Som standard använder appen som du skapar DefaultAzureCredential för att autentisera med ditt appkonfigurationsarkiv. DefaultAzureCredential är en kedja med tokenautentiseringsuppgifter. För att auktorisering ska fungera måste du bevilja rollen App Configuration Data Reader till de autentiseringsuppgifter som appen använder. Anvisningar finns i Autentisering med tokenautentiseringsuppgifter. Tillåt tillräckligt med tid för att rolltilldelningen ska spridas innan du kör appen.

Ange en miljövariabel

Din app använder en miljövariabel för att upprätta anslutningen till App Configuration. Använd något av följande kommandon för att ange en miljövariabel med namnet Endpoint till slutpunkten för appkonfigurationsarkivet.

  • Om du använder kommandotolken kör du följande kommando:

    setx Endpoint "<endpoint-of-your-app-configuration-store>"
    

    Stäng och öppna kommandotolken igen så att ändringen börjar gälla. Kontrollera att miljövariabeln har angetts genom att skriva ut dess värde till konsolen.

  • Om du använder Windows PowerShell kör du följande kommando:

    [System.Environment]::SetEnvironmentVariable("Endpoint", "<endpoint-of-your-app-configuration-store>", "User")
    

Skapa en konsolapp

Utför följande steg om du vill använda Visual Studio för att skapa ett nytt konsolappprojekt.

  1. Öppna Visual Studio. Om den redan körs stänger du och öppnar den igen så att den identifierar miljövariabeln som du angav i föregående avsnitt.

  2. I Visual Studio väljer du Nytt>>filprojekt.

  3. I dialogrutan Skapa ett nytt projekt anger du Konsol i sökrutan.

    • Om du vill skapa en .NET-app väljer du Konsolapp och sedan Nästa.
    • Om du vill skapa en .NET Framework-app väljer du Konsolapp (.NET Framework) och sedan Nästa.
  4. I dialogrutan Konfigurera det nya projektet anger du ett projektnamn.

    • Om du vill skapa en .NET-app väljer du Nästa för att öppna dialogrutan Ytterligare information . I den dialogrutan väljer du ett .NET-ramverk, avmarkerar kryssrutan Använd inte toppnivåinstruktioner och väljer sedan Skapa.
    • Om du vill skapa en .NET Framework-app väljer du .NET Framework 4.7.2 eller en senare version under Framework och väljer sedan Skapa.

Använda funktionsflaggan

Utför följande steg för att använda funktionsflaggan i din app.

  1. Högerklicka på projektet i Solution Explorer och välj sedan Hantera NuGet-paket.

  2. På fliken Bläddra söker du efter och lägger till de senaste stabila versionerna av följande NuGet-paket i projektet:

    • Microsoft.Extensions.Configuration.AzureAppConfiguration
    • Microsoft.FeatureManagement
    • Azure.Identity
  3. Öppna Program.cs och lägg till följande instruktioner i början av filen.

    using Microsoft.Extensions.Configuration;
    using Microsoft.Extensions.Configuration.AzureAppConfiguration;
    using Microsoft.FeatureManagement;
    using Azure.Identity;
    
  4. Som du ser i följande kodblock uppdaterar du Program.cs genom att göra tre ändringar:

    • Om du vill läsa in funktionsflaggor från App Configuration lägger du till ett anrop till UseFeatureFlags metoden.
    • Om du vill läsa funktionsflaggor från konfigurationen skapar du en instans av FeatureManager.
    • Visa ett meddelande om betafunktionsflaggan är aktiverad.

    .NET

    IConfiguration configuration = new ConfigurationBuilder()
        .AddAzureAppConfiguration(options =>
        {
            string endpoint = Environment.GetEnvironmentVariable("Endpoint");
            options.Connect(new Uri(endpoint), new DefaultAzureCredential())
                   .UseFeatureFlags();
        }).Build();
    
    var featureManager = new FeatureManager(
        new ConfigurationFeatureDefinitionProvider(configuration));
    
    if (await featureManager.IsEnabledAsync("Beta"))
    {
        Console.WriteLine("Welcome to the beta!");
    }
    
    Console.WriteLine("Hello World!");
    

    .NET Framework

    public static async Task Main(string[] args)
    {         
        IConfiguration configuration = new ConfigurationBuilder()
            .AddAzureAppConfiguration(options =>
            {
                string endpoint = Environment.GetEnvironmentVariable("Endpoint");
                options.Connect(new Uri(endpoint), new DefaultAzureCredential())
                       .UseFeatureFlags();
            }).Build();
    
        var featureManager = new FeatureManager(
            new ConfigurationFeatureDefinitionProvider(configuration));
    
        if (await featureManager.IsEnabledAsync("Beta"))
        {
            Console.WriteLine("Welcome to the beta!");
        }
    
        Console.WriteLine("Hello World!");
    }
    

Skapa och köra appen lokalt

  1. I Visual Studio väljer du Ctrl+F5 för att skapa och köra programmet. Följande utdata bör visas i konsolen.

    Skärmbild av ett kommandotolksfönster som innehåller utdata från appen. Utdata innehåller texten Hello World!

  2. Logga in på Azure-portalen. Välj Alla resurser och välj sedan din App Configuration butik.

  3. Välj Funktionshanterare och leta upp flaggan Beta-funktion . Aktivera växlingsknappen Aktiverad för att aktivera flaggan.

  4. Kör programmet igen. Betameddelandet ska visas i konsolen.

    Skärmbild av ett kommandotolksfönster som innehåller utdata från appen. Utdata innehåller texten Välkommen till betaversionen! och Hello World!

Rensa resurser

Om du inte vill fortsätta använda resurserna som skapas i den här artikeln tar du bort resursgruppen som du skapade här för att undvika avgifter.

Viktigt!

Att ta bort en resursgrupp kan inte ångras. Resursgruppen och alla resurser i den tas bort permanent. Se till att du inte oavsiktligt tar bort fel resursgrupp eller resurser. Om du har skapat resurserna för den här artikeln i en resursgrupp som innehåller andra resurser som du vill behålla tar du bort varje resurs individuellt från respektive fönster i stället för att ta bort resursgruppen.

  1. Logga in på Azure Portal och välj Resursgrupper.
  2. I rutan Filtrera efter namn anger du namnet på resursgruppen.
  3. I resultatlistan väljer du resursgruppens namn för att se en översikt.
  4. Välj Ta bort resursgrupp.
  5. Du blir ombedd att bekräfta borttagningen av resursgruppen. Ange namnet på resursgruppen för att bekräfta och välj Ta bort.

Efter en liten stund tas resursgruppen och alla dess resurser bort.

Nästa steg

I den här snabbstarten skapade du en funktionsflagga i App Configuration och använde den med en konsolapp. Information om hur du dynamiskt uppdaterar funktionsflaggor och andra konfigurationsvärden utan att starta om programmet finns i följande självstudier:

Information om hur du aktiverar funktionshantering för andra typer av appar finns i följande snabbstarter:

Fullständig funktionskörning av .NET-funktionshanteringsbiblioteket finns i följande dokument: