Condividi tramite


Avvio rapido: Aggiungere flag di funzionalità a un'app console .NET/.NET Framework

In questa guida di avvio rapido si incorpora Configurazione app console di Azure in un'app .NET o .NET Framework per creare un'implementazione end-to-end di Gestione funzionalità. È possibile usare il servizio Configurazione app per archiviare tutti i flag di funzionalità in una posizione centralizzata e controllarne gli stati.

Le librerie di gestione delle funzionalità .NET estendono .NET fornendo il supporto dei flag di funzionalità. Queste librerie si basano sul sistema di configurazione di .NET. Si integrano con Configurazione app tramite il provider di configurazione di .NET.

Prerequisiti

Aggiungere un flag di funzionalità

Aggiungere un flag di funzionalità chiamato Beta all’archivio di Configurazione app e lasciare Etichetta e Descrizione con i relativi valori predefiniti. Per ulteriori informazioni su come aggiungere flag di funzionalità a un negozio utilizzando il portale di Azure o l'interfaccia della riga di comando di Azure, vedere Creare un flag di funzionalità.

Screenshot della finestra di dialogo

Configurare le impostazioni di accesso

L'app creata in questa guida introduttiva si connette all'archivio di Configurazione app per accedere alle impostazioni del flag di funzionalità. Per connettersi a App Configuration, l'app può utilizzare Microsoft Entra ID o una stringa di connessione. Microsoft Entra ID è l'approccio consigliato.

Assegnare un ruolo dati di Configurazione app

Per impostazione predefinita, l'app creata usa DefaultAzureCredential per l'autenticazione nell'archivio di Configurazione app. DefaultAzureCredential è una catena di credenziali del token. Affinché l'autorizzazione funzioni, è necessario concedere il ruolo Lettore dati di configurazione app alle credenziali usate dall'app. Per istruzioni, vedere Autenticazione con le credenziali del token. Attendere il tempo sufficiente per la propagazione dell'assegnazione di ruolo prima di eseguire l'app.

Impostare una variabile di ambiente

L'app usa una variabile di ambiente per stabilire la connessione a Configurazione dell'app. Usare uno dei comandi seguenti per impostare una variabile di ambiente denominata Endpoint sull'endpoint dell'archivio di Configurazione app.

  • Se si usa il prompt dei comandi, eseguire il comando seguente:

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

    Chiudere e riaprire il prompt dei comandi in modo che la modifica venga applicata. Verificare che la variabile di ambiente sia impostata stampandone il valore nella console.

  • Se si usa Windows PowerShell, eseguire il comando seguente:

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

Creare un'app console

Per usare Visual Studio per creare un nuovo progetto di app console, seguire questa procedura.

  1. Apri Visual Studio. Se è già in esecuzione, chiuderlo e riaprirlo in modo che riconosca la variabile di ambiente impostata nella sezione precedente.

  2. In Visual Studio selezionare File>Nuovo>progetto.

  3. Nella finestra di dialogo Crea un nuovo progetto immettere Console nella casella di ricerca.

    • Se si vuole creare un'app .NET, selezionare App console e quindi selezionare Avanti.
    • Se si vuole creare un'app .NET Framework, selezionare App console (.NET Framework) e quindi selezionare Avanti.
  4. Nella finestra di dialogo Configura il nuovo progetto immettere un nome di progetto.

    • Per creare un'app .NET, selezionare Avanti per aprire la finestra di dialogo Informazioni aggiuntive . In tale finestra di dialogo selezionare un framework .NET, deselezionare la casella di controllo Non usare istruzioni di primo livello e quindi selezionare Crea.
    • Se si vuole creare un'app .NET Framework, selezionare .NET Framework 4.7.2 o versione successiva in Framework e quindi selezionare Crea.

Usare il flag di funzionalità

Per usare il flag di funzionalità nell'app, seguire questa procedura.

  1. In Esplora soluzioni fare clic con il pulsante destro del mouse sul progetto e quindi scegliere Gestisci pacchetti NuGet.

  2. Nella scheda Sfoglia cercare e aggiungere le versioni stabili più recenti dei pacchetti NuGet seguenti al progetto:

    • Microsoft.Extensions.Configuration.AzureAppConfiguration
    • Microsoft.FeatureManagement
    • Azure.Identity
  3. Aprire Program.cs e aggiungere le istruzioni seguenti all'inizio del file.

    using Microsoft.Extensions.Configuration;
    using Microsoft.Extensions.Configuration.AzureAppConfiguration;
    using Microsoft.FeatureManagement;
    using Azure.Identity;
    
  4. Come illustrato nei blocchi di codice seguenti, aggiornare Program.cs apportando tre modifiche:

    • Per caricare i flag di funzionalità da Configurazione app, aggiungere una chiamata al metodo UseFeatureFlags.
    • Per leggere i flag di funzionalità dalla configurazione, creare un'istanza di FeatureManager.
    • Visualizza un messaggio se il flag di funzionalità Beta è abilitato.

    .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!");
    }
    

Compilare ed eseguire l'app in locale

  1. In Visual Studio selezionare CTRL+F5 per compilare ed eseguire l'applicazione. L'output seguente dovrebbe essere visualizzato nella console.

    Screenshot di una finestra del prompt dei comandi che contiene l'output dell'app. L'output contiene il testo Hello World!

  2. Accedere al portale di Azure. Selezionare Tutte le risorse e quindi selezionare il tuo store di App Configuration.

  3. Selezionare Gestione funzionalità e individuare il flag di funzionalità Beta. Attivare il toggle Abilitato per abilitare il flag.

  4. Eseguire di nuovo l'applicazione. Il messaggio Beta dovrebbe essere visualizzato nella console.

    Screenshot di una finestra del prompt dei comandi che contiene l'output dell'app. L'output contiene il testo Benvenuto nella beta! e Ciao Mondo!

Pulire le risorse

Se non si vuole continuare a usare le risorse create in questo articolo, eliminare il gruppo di risorse creato qui per evitare addebiti.

Importante

L'eliminazione di un gruppo di risorse è irreversibile. Il gruppo di risorse e tutte le risorse in esso contenute vengono eliminati in modo permanente. Assicurarsi di non eliminare accidentalmente il gruppo di risorse o le risorse sbagliate. Se le risorse per questo articolo sono state create in un gruppo di risorse che contiene altre risorse che si vogliono mantenere, eliminare ogni risorsa singolarmente dal rispettivo riquadro anziché eliminare il gruppo di risorse.

  1. Accedere al portale di Azure e selezionare Gruppi di risorse.
  2. Nella casella Filtra per nome immettere il nome del gruppo di risorse.
  3. Nell'elenco dei risultati selezionare il nome del gruppo di risorse per visualizzare una panoramica.
  4. Selezionare Elimina gruppo di risorse.
  5. Verrà chiesto di confermare l'eliminazione del gruppo di risorse. Immettere il nome del gruppo di risorse per confermare e selezionare Elimina.

Dopo qualche istante, il gruppo di risorse e tutte le risorse che contiene vengono eliminati.

Passaggi successivi

In questa guida di avvio rapido è stato creato un flag di funzionalità in Configurazione app, che è stato usato con un'app console. Per informazioni su come aggiornare dinamicamente i flag di funzionalità e altri valori di configurazione senza riavviare l'applicazione, vedere le esercitazioni seguenti:

Per abilitare la funzionalità di gestione delle feature per altri tipi di app, consultare le guide rapide seguenti:

Per il rundown completo delle funzionalità della libreria di gestione delle funzionalità .NET, vedere il documento seguente: