Guida introduttiva: Creare un'app ASP.NET Core con Configurazione app di AzureQuickstart: Create an ASP.NET Core app with Azure App Configuration

In questa guida di avvio rapido si incorpora Configurazione app di Azure in un'app Web ASP.NET Core per centralizzare l'archiviazione e la gestione delle impostazioni dell'applicazione separatamente dal codice.In this quickstart, you incorporate Azure App Configuration into an ASP.NET Core app to centralize storage and management of application settings separate from your code. ASP.NET Core crea un singolo oggetto configurazione basato su una coppia chiave-valore usando le impostazioni di una o più origini dati specificate da un'applicazione.ASP.NET Core builds a single key-value-based configuration object by using settings from one or more data sources that are specified by an application. Queste origini dati sono note come provider di configurazione.These data sources are known as configuration providers. Poiché il client .NET Core di Configurazione app viene implementato come tale provider, il servizio sembra simile a un'altra origine dati.Because App Configuration's .NET Core client is implemented as such a provider, the service appears like another data source.

PrerequisitiPrerequisites

Creare un archivio di configurazione appCreate an app configuration store

  1. Per creare un nuovo archivio di Configurazione app, accedere al portale di Azure.To create a new App Configuration store, sign in to the Azure portal. Nell'angolo superiore sinistro del riquadro selezionare + Crea una risorsa.In the upper-left corner of the pane, select +Create a resource. Nella casella Cerca nel Marketplace immettere Configurazione app e quindi premere INVIO.In the Search the Marketplace box, enter App Configuration and select Enter.

    Ricerca di Configurazione app

  2. Nei risultati della ricerca selezionare Configurazione app e quindi selezionare Crea.Select App Configuration from the search results, and then select Create.

  3. Nel riquadro Configurazione app > Crea immettere le impostazioni seguenti:On the App Configuration > Create pane, enter the following settings:

    ImpostazioneSetting Valore consigliatoSuggested value DESCRIZIONEDescription
    Nome risorsaResource name Nome globalmente univocoGlobally unique name Immettere un nome di risorsa univoco da usare per la risorsa archivio di Configurazione app.Enter a unique resource name to use for the App Configuration store resource. Il nome deve essere una stringa contenente da 1 a 63 caratteri che possono includere solo numeri, lettere e il carattere -.The name must be a string between 1 and 63 characters and contain only numbers, letters, and the - character. Il nome non può iniziare o terminare con il carattere - e i caratteri - consecutivi non sono validi.The name can't start or end with the - character, and consecutive - characters aren't valid.
    SottoscrizioneSubscription Sottoscrizione in usoYour subscription Selezionare la sottoscrizione di Azure da usare per testare Configurazione app.Select the Azure subscription that you want to use to test App Configuration. Se l'account ha una sola sottoscrizione, questa viene selezionata automaticamente e l'elenco Sottoscrizione non viene visualizzato.If your account has only one subscription, it's automatically selected and the Subscription list isn't displayed.
    Gruppo di risorseResource group AppConfigTestResourcesAppConfigTestResources Selezionare o creare un gruppo di risorse per la risorsa archivio di Configurazione app.Select or create a resource group for your App Configuration store resource. Questo gruppo è utile per gestire risorse multiple: ad esempio è possibile eliminare più risorse con un'unica operazione, eliminando il gruppo di risorse.This group is useful for organizing multiple resources that you might want to delete at the same time by deleting the resource group. Per altre informazioni, vedere Usare i gruppi di risorse per gestire le risorse di Azure.For more information, see Use resource groups to manage your Azure resources.
    PosizioneLocation Stati Uniti centraliCentral US Usare Posizione per specificare la posizione geografica in cui viene ospitato l'archivio di configurazione app.Use Location to specify the geographic location in which your app configuration store is hosted. Per ottenere prestazioni ottimali, creare le risorse nella stessa area degli altri componenti dell'applicazione.For the best performance, create the resource in the same region as other components of your application.

    Creare una risorsa archivio di Configurazione app

  4. Selezionare Create (Crea).Select Create. Il completamento della distribuzione può richiedere alcuni minuti.The deployment might take a few minutes to finish.

  5. Al termine della distribuzione, selezionare Impostazioni > Chiavi di accesso.After the deployment is finished, select Settings > Access Keys. Prendere nota della stringa di connessione della chiave primaria di sola lettura o di quella di sola scrittura.Make a note of either the primary read-only or primary read-write key connection string. Questa stringa di connessione verrà usata in seguito per configurare l'applicazione in modo da comunicare con l'archivio di Configurazione app creato.You'll use this connection string later to configure your application to communicate with the App Configuration store that you created.

  1. Selezionare Configuration Explorer > + Crea per aggiungere le coppie chiave-valore seguenti:Select Configuration Explorer > + Create to add the following key-value pairs:

    ChiaveKey ValoreValue
    TestApp:Settings:BackgroundColorTestApp:Settings:BackgroundColor BiancoWhite
    TestApp:Settings:FontSizeTestApp:Settings:FontSize 2424
    TestApp:Settings:FontColorTestApp:Settings:FontColor NeroBlack
    TestApp:Settings:MessageTestApp:Settings:Message Dati di Configurazione app di AzureData from Azure App Configuration

    Lasciare vuoti i campi Etichetta e Tipo di contenuto per il momento.Leave Label and Content Type empty for now.

Creare un'app Web ASP.NET CoreCreate an ASP.NET Core web app

È possibile usare l'interfaccia della riga di comando di .NET Core per creare un nuovo progetto di app Web MVC ASP.NET Core.You use the .NET Core command-line interface (CLI) to create a new ASP.NET Core MVC web app project. Il vantaggio di usare l'interfaccia della riga di comando di .NET Core rispetto a Visual Studio è che è disponibile nelle piattaforme Windows, macOS e Linux.The advantage of using the .NET Core CLI over Visual Studio is that it's available across the Windows, macOS, and Linux platforms.

  1. Creare una nuova cartella per il progetto.Create a new folder for your project. Per questa guida di avvio rapido assegnarle il nome TestAppConfig.For this quickstart, name it TestAppConfig.

  2. Nella nuova cartella eseguire il comando seguente per creare un nuovo progetto di app Web ASP.NET Core MVC:In the new folder, run the following command to create a new ASP.NET Core MVC web app project:

     dotnet new mvc
    

Aggiungere Secret ManagerAdd Secret Manager

Aggiungere lo strumento Secret Manager al progetto.Add the Secret Manager tool to your project. Lo strumento Secret Manager archivia i dati sensibili per operazioni di sviluppo al di fuori dell'albero del progetto.The Secret Manager tool stores sensitive data for development work outside of your project tree. Questo approccio contribuisce a impedire la condivisione accidentale dei segreti dell'app all'interno del codice sorgente.This approach helps prevent the accidental sharing of app secrets within source code.

  • Aprire il file con estensione csproj.Open the .csproj file. Aggiungere un elemento UserSecretsId come illustrato di seguito e sostituire il relativo valore con il proprio, che in genere è un GUID.Add a UserSecretsId element as shown here, and replace its value with your own, which typically is a GUID. Salvare il file.Save the file.

    <Project Sdk="Microsoft.NET.Sdk.Web">
    
    <PropertyGroup>
        <TargetFramework>netcoreapp2.1</TargetFramework>
        <UserSecretsId>79a3edd0-2092-40a2-a04d-dcb46d5ca9ed</UserSecretsId>
    </PropertyGroup>
    
    <ItemGroup>
        <PackageReference Include="Microsoft.AspNetCore.App" />
        <PackageReference Include="Microsoft.AspNetCore.Razor.Design" Version="2.1.2" PrivateAssets="All" />
    </ItemGroup>
    
    </Project>
    

Connettersi a un archivio di configurazione appConnect to an app configuration store

  1. Aggiungere un riferimento al pacchetto NuGet Microsoft.Azure.AppConfiguration.AspNetCore eseguendo il comando seguente:Add a reference to the Microsoft.Azure.AppConfiguration.AspNetCore NuGet package by running the following command:

     dotnet add package Microsoft.Azure.AppConfiguration.AspNetCore --version 2.0.0-preview-009200001-7
    
  2. Eseguire il comando seguente per ripristinare i pacchetti per il progetto:Run the following command to restore packages for your project:

     dotnet restore
    
  3. Aggiungere un segreto denominato ConnectionStrings:AppConfig a Secret Manager.Add a secret named ConnectionStrings:AppConfig to Secret Manager.

    Questo segreto contiene la stringa di connessione per accedere all'archivio di configurazione app.This secret contains the connection string to access your app configuration store. Sostituire il valore nel comando seguente con la stringa di connessione per l'archivio di configurazione app.Replace the value in the following command with the connection string for your app configuration store.

    Questo comando deve essere eseguito nella stessa directory del file con estensione csproj.This command must be executed in the same directory as the .csproj file.

     dotnet user-secrets set ConnectionStrings:AppConfig <your_connection_string>
    

    Secret Manager viene usato solo per testare l'app Web in locale.Secret Manager is used only to test the web app locally. Quando l'app viene distribuita in Servizio app di Azure, ad esempio, viene usata un'impostazione applicazione Stringhe di connessione nel servizio app, invece di Secret Manager per archiviare la stringa di connessione.When the app is deployed to Azure App Service, for example, you use an application setting Connection Strings in App Service instead of with Secret Manager to store the connection string.

    È possibile accedere al segreto con l'API di configurazione.This secret is accessed with the configuration API. Con l'API di configurazione è possibile usare i due punti (:) nel nome di configurazione in tutte le piattaforme supportate.A colon (:) works in the configuration name with the configuration API on all supported platforms. Vedere la configurazione in base all'ambiente.See Configuration by environment.

  4. Aprire Program.cs e aggiungere un riferimento al provider di Configurazione app .NET Core.Open Program.cs, and add a reference to the .NET Core App Configuration provider.

    using Microsoft.Extensions.Configuration.AzureAppConfiguration;
    
  5. Aggiornare il metodo CreateWebHostBuilder per usare Configurazione app effettuando una chiamata al metodo config.AddAzureAppConfiguration().Update the CreateWebHostBuilder method to use App Configuration by calling the config.AddAzureAppConfiguration() method.

    public static IWebHostBuilder CreateWebHostBuilder(string[] args) =>
        WebHost.CreateDefaultBuilder(args)
            .ConfigureAppConfiguration((hostingContext, config) =>
            {
                var settings = config.Build();
                config.AddAzureAppConfiguration(settings["ConnectionStrings:AppConfig"]);
            })
            .UseStartup<Startup>();
    
  6. Aprire Index.cshtml nella directory Views > Home e sostituirne il contenuto con il codice seguente:Open Index.cshtml in the Views > Home directory, and replace its content with the following code:

    @using Microsoft.Extensions.Configuration
    @inject IConfiguration Configuration
    
    <style>
        body {
            background-color: @Configuration["TestApp:Settings:BackgroundColor"]
        }
        h1 {
            color: @Configuration["TestApp:Settings:FontColor"];
            font-size: @Configuration["TestApp:Settings:FontSize"];
        }
    </style>
    
    <h1>@Configuration["TestApp:Settings:Message"]</h1>
    
  7. Aprire il file _Layout.cshtml nella directory Views > Shared e sostituire il relativo contenuto con il codice seguente:Open _Layout.cshtml in the Views > Shared directory, and replace its content with the following code:

    <!DOCTYPE html>
    <html>
    <head>
        <meta charset="utf-8" />
        <meta name="viewport" content="width=device-width, initial-scale=1.0" />
        <title>@ViewData["Title"] - hello_world</title>
    
        <link rel="stylesheet" href="~/lib/bootstrap/dist/css/bootstrap.css" />
        <link rel="stylesheet" href="~/css/site.css" />
    </head>
    <body>
        <div class="container body-content">
            @RenderBody()
        </div>
    
        <script src="~/lib/jquery/dist/jquery.js"></script>
        <script src="~/lib/bootstrap/dist/js/bootstrap.js"></script>
        <script src="~/js/site.js" asp-append-version="true"></script>
    
        @RenderSection("Scripts", required: false)
    </body>
    </html>
    

Compilare ed eseguire l'app in localeBuild and run the app locally

  1. Per compilare l'app usando l'interfaccia della riga di comando di .NET Core, eseguire questo comando nella shell dei comandi:To build the app by using the .NET Core CLI, run the following command in the command shell:

     dotnet build
    
  2. Al termine della compilazione, eseguire questo comando per eseguire l'app Web in locale:After the build successfully completes, run the following command to run the web app locally:

     dotnet run
    
  3. Aprire una finestra del browser e passare a http://localhost:5000, che è l'URL predefinito per l'app Web ospitata in locale.Open a browser window, and go to http://localhost:5000, which is the default URL for the web app hosted locally.

Pulire le risorseClean up resources

Se si prevede di continuare con la prossima esercitazione, non eliminare le risorse create in questa guida di avvio rapido.If you plan to continue to the next tutorial, keep the resources you created in this quickstart. È possibile riusarle nella prossima esercitazione.You can reuse them in the next tutorial.

Se si è terminato il lavoro con l'applicazione di esempio della guida di avvio rapido, eliminare le risorse di Azure create in questa guida di avvio rapido per evitare i costi correlati.If you're finished with the quickstart sample application, delete the Azure resources you created in this quickstart to avoid charges.

Importante

L'eliminazione di un gruppo di risorse è irreversibile.Deleting a resource group is irreversible. Il gruppo di risorse e tutte le risorse in esso contenute vengono eliminati in modo permanente.The resource group and all the resources in it are permanently deleted. Assicurarsi di non eliminare accidentalmente il gruppo di risorse sbagliato o le risorse errate.Make sure that you don't accidentally delete the wrong resource group or resources. Se le risorse per questo esempio sono state create in un gruppo di risorse che contiene anche elementi da mantenere, eliminare ogni elemento singolarmente dal rispettivo riquadro anziché eliminare il gruppo di risorse.If you created the resources for hosting this sample inside a resource group that contains resources you want to keep, delete each resource individually from its respective pane instead of deleting the resource group.

  1. Accedere al portale di Azure e selezionare Gruppi di risorse.Sign in to the Azure portal, and select Resource groups.
  2. Nella casella Filtra per nome immettere il nome del gruppo di risorse.In the Filter by name box, enter the name of your resource group. Per le istruzioni di questa guida introduttiva è stato usato un gruppo di risorse denominato AppConfigTestResources.The instructions for this quickstart used a resource group named AppConfigTestResources.
  3. Nell'elenco di risultati selezionare il gruppo di risorse e fare clic con il pulsante destro del mouse sulla riga o usare il pulsante con i puntini di sospensione ( ... ) per aprire il menu di scelta rapida.In the result list, select the resource group, and either right-click the row or use the ellipsis (...) button to open the context menu.
  4. Selezionare Elimina gruppo di risorse.Select Delete resource group.
  5. Verrà chiesto di confermare l'eliminazione del gruppo di risorse.You're asked to confirm the deletion of the resource group. Immettere il nome del gruppo di risorse per confermare e selezionare Elimina.Enter the name of your resource group to confirm, and select Delete.

Dopo qualche istante, il gruppo di risorse e tutte le risorse che contiene vengono eliminati.After a few moments, the resource group and all its resources are deleted.

Passaggi successiviNext steps

In questo argomento di avvio rapido è stato creato un nuovo archivio di configurazione app, che è stato usato con un'app Web ASP.NET Core con il provider di Configurazione app.In this quickstart, you created a new app configuration store and used it with an ASP.NET Core web app via the App Configuration provider. Per altre informazioni sull'uso di Configurazione app, continuare con l'esercitazione successiva sull'autenticazione.To learn more about how to use App Configuration, continue to the next tutorial that demonstrates authentication.