Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
In questo avvio rapido si userà Configurazione app di Azure 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 raccolta dei provider di configurazione .NET. È quindi possibile usare Configurazione app come origine di configurazione aggiuntiva per l'app. Se si dispone di un'app esistente, per iniziare a usare Configurazione app saranno necessarie solo alcune piccole modifiche al codice di avvio dell'app.
Prerequisiti
- Un account Azure con una sottoscrizione attiva. È possibile crearne uno gratuitamente.
- Un archivio di Configurazione app, come illustrato nell'esercitazione per la creazione di un archivio.
- .NET SDK 6.0 o versioni successive
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 | bianco |
| TestApp:Settings:FontColor | nero |
| 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 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 all'archivio di Configurazione app usando Microsoft Entra ID (scelta consigliata) o una 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.IdentityCreare un segreto utente per l'applicazione passando alla cartella TestAppConfig ed eseguendo il comando seguente.
Il comando usa Manager segreti per archiviare un segreto denominato
Endpoints:AppConfiguration, il che archivia l'endpoint per l'archivio di Configurazione app. Sostituire il segnaposto<your-App-Configuration-endpoint>con l'endpoint dell'archivio di Configurazione app. È possibile trovare l'endpoint nel pannello Panoramica dell'archivio di 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 di Configurazione app chiamando il metodo
AddAzureAppConfigurationnel fileProgram.cs.Usare
DefaultAzureCredentialper eseguire l'autenticazione nell'archivio di Configurazione app. Seguire le istruzioni per assegnare le credenziali al ruolo Lettore dati di 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 di Configurazione app. Per altre informazioni sul caricamento dei dati da Configurazione app, vedere Riferimento API del provider di 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 di Configurazione app.
Aggiungere un file Settings.cs nella radice della directory del progetto. Definisce una classe fortemente tipizzata
Settingsper 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 sezione
TestApp:Settingsnella configurazione all'oggettoSettings.Aggiornare Program.cs con il codice seguente e aggiungere lo spazio dei nomi
TestAppConfigall'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 Pagine e aggiornare la classe
IndexModelcon il codice seguente. Aggiungere lo spazio dei nomiusing Microsoft.Extensions.Optionsall'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 il file Index.cshtml nella directory Pagine 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, passare alla directory radice del progetto. Eseguire il comando seguente nella shell dei comandi:
dotnet buildAl termine della compilazione, eseguire questo comando per eseguire l'app Web in locale:
dotnet runL'output
dotnet rundel comando contiene due URL. Aprire un browser e passare a uno di questi URL per accedere all'applicazione. Ad esempiohttps://localhost:5001.Se si sta lavorando in Azure Cloud Shell, selezionare il pulsante Anteprima Web e quindi Configura. Quando viene chiesto di configurare la porta per l'anteprima, immettere 5000 e selezionare Apri ed esplora.
La pagina Web avrà un aspetto simile al 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 di Configurazione app tramite la raccolta dei provider di Configurazione app.
- Leggere i valori chiave dell'archivio di Configurazione app con la raccolta dei provider di configurazione.
- Visualizzazione di una pagina Web che utilizza le impostazioni configurate nell'archivio di 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.