Guida introduttiva: Creare un'app ASP.NET Core con configurazione di app Azure
In questo argomento di avvio rapido si userà app Azure Configurazione per esternalizzare l'archiviazione e la gestione delle impostazioni dell'app per un'app ASP.NET Core. ASP.NET Core compila un singolo oggetto di configurazione basato su chiave-valore usando le impostazioni di uno o più provider di configurazione. Configurazione app offre una libreria di provider di configurazione .NET. È quindi possibile usare Configurazione app come origine di configurazione aggiuntiva per l'app. Se hai un'app esistente, per iniziare a usare Configurazione app, dovrai solo apportare alcune piccole modifiche al codice di avvio dell'app.
Prerequisiti
- Un account Azure con una sottoscrizione attiva. Crearne una gratuitamente.
- Archivio Configurazione app. Creare un archivio.
- ASP.NET Core SDK
Suggerimento
Azure Cloud Shell è una shell interattiva gratuita che può essere usata per eseguire le istruzioni della riga di comando riportate in questo articolo. Include strumenti comuni di Azure preinstallati, tra cui .NET Core SDK. Se è stato eseguito l'accesso alla sottoscrizione di Azure, avviare Azure Cloud Shell da shell.azure.com. Per altre informazioni su Azure Cloud Shell, leggere la documentazione
Aggiungere valori chiave
Aggiungere i valori chiave seguenti all'archivio Configurazione app e lasciare Etichetta e Tipo di contenuto con i valori predefiniti. Per altre informazioni su come aggiungere valori chiave a un archivio usando il portale di Azure o l'interfaccia della riga di comando, vedere Creare un valore chiave.
Chiave | Valore |
---|---|
TestApp:Impostazioni:BackgroundColor | white |
TestApp:Impostazioni:FontColor | black |
TestApp:Impostazioni:FontSize | 24 |
TestApp:Impostazioni:Message | Dati della configurazione di app Azure |
Creare un'app Web ASP.NET Core
Usare l'interfaccia della riga di comando di .NET Core per creare un nuovo progetto di app Web di ASP.NET Core. Azure Cloud Shell offre questi strumenti, disponibili anche nelle piattaforme Windows, macOS e Linux.
Eseguire il comando seguente per creare un'app Web ASP.NET Core in una nuova cartella TestAppConfig :
dotnet new webapp --output TestAppConfig --framework net6.0
Connettersi all'archivio di Configurazione app
Passare alla directory del progetto TestAppConfig ed eseguire il comando seguente per aggiungere un riferimento al pacchetto NuGet Microsoft.Azure.AppConfiguration.AspNetCore :
dotnet add package Microsoft.Azure.AppConfiguration.AspNetCore
Esegui il comando seguente: Il comando usa Secret Manager per archiviare un segreto denominato
ConnectionStrings:AppConfig
, che archivia il stringa di connessione per l'archivio Configurazione app. Sostituire il segnaposto<your_connection_string>
con la stringa di connessione dell'archivio di Configurazione app. È possibile trovare il stringa di connessione in Chiavi di accesso dell'archivio Configurazione app nel portale di Azure.dotnet user-secrets init dotnet user-secrets set ConnectionStrings:AppConfig "<your_connection_string>"
Suggerimento
Alcune shell troncheranno la stringa di connessione se non è racchiusa tra virgolette. Verificare che l'output del comando
dotnet user-secrets list
mostri l'intera stringa di connessione. In caso contrario, eseguire di nuovo il comando racchiudendo la stringa di connessione tra virgolette.Secret Manager archivia il segreto all'esterno dell'albero del progetto, che consente di evitare la condivisione accidentale dei segreti all'interno del codice sorgente. Viene usato solo per testare l'app Web in locale. Quando l'app viene distribuita in Azure come servizio app, usare le stringhe di Connessione ion, le impostazioni dell'applicazione o le variabili di ambiente per archiviare il stringa di connessione. In alternativa, per evitare stringa di connessione tutti insieme, è possibile connettersi a Configurazione app usando identità gestite o altre identità di Microsoft Entra.
Aprire Program.cs e aggiungere app Azure Configuration come origine di configurazione aggiuntiva chiamando il
AddAzureAppConfiguration
metodo .var builder = WebApplication.CreateBuilder(args); // Retrieve the connection string string connectionString = builder.Configuration.GetConnectionString("AppConfig"); // Load configuration from Azure App Configuration builder.Configuration.AddAzureAppConfiguration(connectionString); // The rest of existing code in program.cs // ... ...
Questo codice si connetterà all'archivio Configurazione app usando un stringa di connessione e caricherà tutti i valori chiave senza etichette. Per altre informazioni sul provider di Configurazione app, vedere le informazioni di riferimento sull'API del provider Configurazione app.
Leggere valori dall'archivio di Configurazione app
In questo esempio si aggiornerà una pagina Web per visualizzarne il contenuto usando le impostazioni configurate nell'archivio Configurazione app.
Aggiungere un file Impostazioni.cs nella radice della directory del progetto. Definisce una classe fortemente tipizzata
Settings
per la configurazione che si intende usare. Sostituire lo spazio dei nomi con il nome del progetto.namespace TestAppConfig { public class Settings { public string BackgroundColor { get; set; } public long FontSize { get; set; } public string FontColor { get; set; } public string Message { get; set; } } }
Associare la
TestApp:Settings
sezione nella configurazione all'oggettoSettings
.Aggiornare Program.cs con il codice seguente e aggiungere lo
TestAppConfig
spazio dei nomi all'inizio del file.using TestAppConfig; // Existing code in Program.cs // ... ... builder.Services.AddRazorPages(); // Bind configuration "TestApp:Settings" section to the Settings object builder.Services.Configure<Settings>(builder.Configuration.GetSection("TestApp:Settings")); var app = builder.Build(); // The rest of existing code in program.cs // ... ...
Aprire Index.cshtml.cs nella directory Pages e aggiornare la
IndexModel
classe con il codice seguente. Aggiungere lousing Microsoft.Extensions.Options
spazio dei nomi all'inizio del file, se non è già presente.public class IndexModel : PageModel { private readonly ILogger<IndexModel> _logger; public Settings Settings { get; } public IndexModel(IOptionsSnapshot<Settings> options, ILogger<IndexModel> logger) { Settings = options.Value; _logger = logger; } }
Aprire Index.cshtml nella directory Pages e aggiornare il contenuto con il codice seguente.
@page @model IndexModel @{ ViewData["Title"] = "Home page"; } <style> body { background-color: @Model.Settings.BackgroundColor; } h1 { color: @Model.Settings.FontColor; font-size: @(Model.Settings.FontSize)px; } </style> <h1>@Model.Settings.Message</h1>
Compilare ed eseguire l'app in locale
Per compilare l'app usando il interfaccia della riga di comando di .NET Core, passare alla directory radice del progetto. Eseguire il comando seguente nella shell dei comandi:
dotnet build
Al termine della compilazione, eseguire questo comando per eseguire l'app Web in locale:
dotnet run
L'output
dotnet run
del comando contiene due URL. Aprire un browser e passare a uno di questi URL per accedere all'applicazione. Ad esempio:https://localhost:5001
.Se si sta lavorando in Azure Cloud Shell, selezionare il pulsante Anteprima Web e quindi Configura. Quando viene richiesto di configurare la porta per l'anteprima, immettere 5000 e selezionare Apri e sfoglia.
La pagina Web è simile alla seguente:
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.
- Accedere al portale di Azure e selezionare Gruppi di risorse.
- Nella casella Filtra per nome immettere il nome del gruppo di risorse.
- Nell'elenco dei risultati selezionare il nome del gruppo di risorse per visualizzare una panoramica.
- Selezionare Elimina gruppo di risorse.
- 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
Questa guida introduttiva spiega come:
- È stato effettuato il provisioning di un nuovo archivio di Configurazione app.
- Connessione nell'archivio Configurazione app usando la libreria del provider di Configurazione app.
- Leggere i valori chiave dell'archivio Configurazione app con la libreria del provider di configurazione.
- Visualizzazione di una pagina Web con le impostazioni configurate nell'archivio Configurazione app.
Per informazioni su come configurare l'app Web ASP.NET Core per aggiornare dinamicamente le impostazioni di configurazione, continuare con l'esercitazione successiva.