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.
- Un Archivio di configurazione app. Creare un archivio.
- .NET SDK 6.0 o versione successiva
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 di Azure comuni preinstallati, incluso .NET 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 coppie chiave-valore
Aggiungere il valore chiave seguente all'archivio di 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, andare a Creare un valore chiave.
Chiave | valore |
---|---|
TestApp:Settings:BackgroundColor | white |
TestApp:Settings:FontColor | black |
TestApp:Settings:FontSize | 24 |
TestApp:Settings:Message | Dati di Configurazione app di Azure |
Creare un'app Web ASP.NET Core
Usare l'interfaccia della riga di comando di .NET 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
Connettersi all'archivio di Configurazione app
Connettersi al negozio Configurazione app usando Microsoft Entra ID (scelta consigliata) o un stringa di connessione.
Passare alla directory del progetto TestAppConfig ed eseguire il comando seguente per aggiungere riferimenti al pacchetto NuGet.
dotnet add package Microsoft.Azure.AppConfiguration.AspNetCore dotnet add package Azure.Identity
Creare un segreto utente per l'applicazione passando alla cartella TestAppConfig ed eseguendo il comando seguente.
Il comando usa Secret Manager per archiviare un segreto denominato
Endpoints:AppConfiguration
, che archivia l'endpoint per l'archivio Configurazione app. Sostituire il segnaposto con l'endpoint<your-App-Configuration-endpoint>
dell'archivio Configurazione app. È possibile trovare l'endpoint nel pannello Panoramica dell'archivio Configurazione app nel portale di Azure.dotnet user-secrets init dotnet user-secrets set Endpoints:AppConfiguration "<your-App-Configuration-endpoint>"
Aprire Program.cs e aggiungere gli spazi dei nomi seguenti:
using Microsoft.Extensions.Configuration; using Microsoft.Azure.AppConfiguration.AspNetCore; using Azure.Identity;
Connettersi all'archivio Configurazione app chiamando il
AddAzureAppConfiguration
metodo nelProgram.cs
file .Usare per eseguire l'autenticazione
DefaultAzureCredential
nell'archivio Configurazione app. Seguire le istruzioni per assegnare le credenziali al ruolo lettore dati Configurazione app. Assicurarsi di consentire tempo sufficiente per la propagazione dell'autorizzazione prima di eseguire l'applicazione.var builder = WebApplication.CreateBuilder(args); // Retrieve the endpoint string endpoint = builder.Configuration.GetValue<string>("Endpoints:AppConfiguration") ?? throw new InvalidOperationException("The setting `Endpoints:AppConfiguration` was not found."); // Load configuration from Azure App Configuration builder.Configuration.AddAzureAppConfiguration(options => { options.Connect(new Uri(endpoint), new DefaultAzureCredential()); }); // The rest of existing code in program.cs // ... ...
Questo codice carica tutti i valori chiave senza etichetta dall'archivio Configurazione app. Per altre informazioni sul caricamento di dati da 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 Settings.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 l'interfaccia della riga di comando di .NET, 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.
- Connesso all'archivio Configurazione app tramite 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 in modo dinamico le impostazioni di configurazione, continuare con l'esercitazione successiva.