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

In questo guida di avvio rapido si incorpora Configurazione app di Azure in un'app console .NET per creare un'implementazione end-to-end della gestione delle 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 funzionalità di .NET estendono il framework con il supporto per i 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à denominato Beta all'archivio di Configurazione app e lasciare Etichetta e Descrizione con i relativi valori predefiniti. Per altre informazioni su come aggiungere flag di funzionalità a un archivio tramite il portale di Azure o l'interfaccia della riga di comando, vedere Creare un flag di funzionalità.

Abilitare un flag funzionalità denominato Beta

Creare un'app console

È possibile usare Visual Studio per creare un nuovo progetto di app console.

  1. Avviare Visual Studio e selezionare File>Nuovo>Progetto.

  2. In Crea un nuovo progetto, filtrare in base al tipo di progetto Console e selezionare App console. Se si vuole creare un'app .NET Framework, selezionare invece App console (.NET Framework). Fare clic su Avanti.

  3. In Configura il nuovo progetto immettere un nome di progetto. Se si crea un'app .NET Framework, selezionare .NET Framework 4.7.2 o versione successiva in Framework. Cliccare su Crea.

Usare il flag di funzionalità

  1. Fare clic con il pulsante destro del mouse sul progetto e scegliere Gestisci pacchetti NuGet. Nella scheda Sfoglia cercare e aggiungere i pacchetti NuGet seguenti al progetto.

    Microsoft.Extensions.Configuration.AzureAppConfiguration
    Microsoft.FeatureManagement
    

    Assicurarsi che la versione di Microsoft.FeatureManagement sia successiva alla 3.1.0.

  2. Aprire Program.cs e aggiungere le istruzioni seguenti:

    using Microsoft.Extensions.Configuration;
    using Microsoft.Extensions.Configuration.AzureAppConfiguration;
    using Microsoft.FeatureManagement;
    
  3. Connettersi a Configurazione app specificando l'opzione UseFeatureFlags in modo da recuperare i flag di funzionalità. Creare un ConfigurationFeatureDefinitionProvider per fornire la definizione del flag di funzionalità in base alla configurazione e un FeatureManager per valutare lo stato dei flag di funzionalità. Visualizzare quindi un messaggio se il flag di funzionalità Beta è abilitato.

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

Compilare ed eseguire l'app in locale

  1. Impostare una variabile di ambiente denominata ConnectionString sulla stringa di connessione dell'archivio di Configurazione app.

    Se si usa il prompt dei comandi di Windows, eseguire il comando seguente.

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

    Riavviare il prompt dei comandi per rendere effettiva la modifica. Stampare il valore della variabile di ambiente per verificare che sia impostato correttamente.

  2. Riavviare Visual Studio per rendere effettiva la modifica.

  3. Premere CTRL+F5 per compilare ed eseguire l'applicazione.

  4. Nella console verranno visualizzati gli output seguenti.

    App con flag di funzionalità disabilitato

  5. Accedere al portale di Azure. Selezionare Tutte le risorse e quindi l'archivio di Configurazione app creato in precedenza.

  6. Selezionare Gestione funzionalità e individuare il flag di funzionalità Beta. Abilitare il flag selezionando la casella di controllo in Abilitato.

  7. Eseguire di nuovo l'applicazione. Verrà visualizzato il messaggio Beta nella console.

    App con flag di funzionalità abilitato

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 in modo dinamico i flag di funzionalità e altri valori di configurazione senza riavviare l'applicazione, continuare con l'esercitazione successiva.

Per abilitare la funzione di gestione delle funzionalità per altri tipi di app, continuare con le esercitazioni seguenti.

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