Guida introduttiva: Aggiungere flag di funzionalità a un'app .NET Framework

In questa guida di avvio rapido si incorpora Configurazione app di Azure in un'app .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 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

Creare un archivio di Configurazione app

  1. Per creare un nuovo archivio di Configurazione app, accedere al portale di Azure. Nell'angolo superiore sinistro della home page selezionare Crea una risorsa. Nella casella Cerca nel Marketplace immettere Configurazione app e quindi premere INVIO.

    Ricerca di Configurazione app

  2. Nei risultati della ricerca selezionare Configurazione app e quindi selezionare Crea.

    Selezionare Crea

  3. Nel riquadro Crea configurazione dell'app immettere le impostazioni seguenti:

    Impostazione Valore consigliato Descrizione
    Sottoscrizione Sottoscrizione in uso Selezionare la sottoscrizione di Azure da usare per testare Configurazione app. Se l'account ha una sola sottoscrizione, questa viene selezionata automaticamente e l'elenco Sottoscrizione non viene visualizzato.
    Gruppo di risorse AppConfigTestResources Selezionare o creare un gruppo di risorse per la risorsa archivio di Configurazione app. Questo gruppo è utile per gestire risorse multiple: ad esempio è possibile eliminare più risorse con un'unica operazione, eliminando il gruppo di risorse. Per altre informazioni, vedere Usare i gruppi di risorse per gestire le risorse di Azure.
    Nome risorsa Nome globalmente univoco Immettere un nome di risorsa univoco da usare per la risorsa archivio di Configurazione app. Il nome deve essere una stringa contenente da 5 a 50 caratteri costituiti solo da numeri, lettere e dal carattere -. Il nome non può iniziare o terminare con il carattere -.
    Posizione Stati Uniti centrali Usare Posizione per specificare la posizione geografica in cui viene ospitato l'archivio di configurazione app. Per ottenere prestazioni ottimali, creare le risorse nella stessa area degli altri componenti dell'applicazione.
    Piano tariffario Free Selezionare il piano tariffario desiderato. Per altre informazioni, vedere la pagina dei prezzi di Configurazione app.
  4. Selezionare Rivedi e crea per convalidare le impostazioni.

  5. Selezionare Create (Crea). La distribuzione può richiedere alcuni minuti.

  6. Al termine della distribuzione, passare alla risorsa Configurazione app. Selezionare Impostazioni > Chiavi di accesso. Prendere nota della stringa di connessione della chiave primaria di sola lettura. Questa stringa di connessione verrà usata in seguito per configurare l'applicazione in modo da comunicare con l'archivio di Configurazione app creato.

  1. Selezionare Gestione funzionalità > +Aggiungi per aggiungere un flag funzionalità denominato Beta.

    Abilitare un flag funzionalità denominato Beta

    Per il momento lasciare il campo label non definito.

Creare un'app console .NET

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

  2. In Crea un nuovo progetto filtrare in base al tipo di progetto Console e quindi fare clic su App console (.NET Framework) . Fare clic su Avanti.

  3. In Configura il nuovo progetto immettere un nome di progetto. In Framework selezionare .NET Framework 4.8 o versione successiva. Fare clic su Crea.

Connettersi a un archivio di Configurazione app

  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. Se non è possibile trovarli, selezionare la casella di controllo Includi versione preliminare.

    Microsoft.Extensions.DependencyInjection
    Microsoft.Extensions.Configuration.AzureAppConfiguration
    Microsoft.FeatureManagement
    
  2. Aprire Program.cs e aggiungere le istruzioni seguenti:

    using Microsoft.Extensions.DependencyInjection;
    using Microsoft.Extensions.Configuration;
    using Microsoft.Extensions.Configuration.AzureAppConfiguration;
    using Microsoft.FeatureManagement;
    using System.Threading.Tasks;
    
  3. Aggiornare il metodo Main per connettersi a Configurazione app, specificando l'opzione UseFeatureFlags in modo da recuperare i flag di funzionalità. Visualizzare quindi un messaggio se il flag di funzionalità Beta è abilitato.

        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();
        }
    

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"
    

    Se si usa Windows PowerShell, eseguire il comando seguente:

        $Env:ConnectionString = "connection-string-of-your-app-configuration-store"
    
  2. Riavviare Visual Studio per rendere effettiva la modifica.

  3. Premere CTRL+F5 per compilare ed eseguire l'app 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 sbagliato o le risorse errate. 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 .NET Framework. 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.