Schnellstart: Erstellen einer ASP.NET Core-App mit Azure App Configuration
In dieser Schnellstartanleitung verwenden Sie Azure App Configuration, um die Speicherung und Verwaltung von App-Einstellungen für eine ASP.NET Core-App zu externalisieren. Mit ASP.NET Core wird ein Konfigurationsobjekt, das auf nur einem Schlüssel-Wert-Paar basiert, mit Einstellungen einer oder mehrerer Konfigurationsanbieter erstellt. App Configuration bietet eine .NET-Konfigurationsanbieterbibliothek. Daher können Sie App Configuration als zusätzliche Konfigurationsquelle für Ihre App verwenden. Wenn Sie über eine vorhandene App verfügen, müssen Sie nur einige kleine Änderungen an Ihrem App-Startcode vornehmen, um mit der Verwendung von App Configuration zu beginnen.
Voraussetzungen
- Ein Azure-Konto mit einem aktiven Abonnement. Erstellen Sie ein kostenloses Konto.
- Ein App Configuration-Speicher. Erstellen Sie einen Speicher.
- .NET SDK 6.0 oder höher
Tipp
Azure Cloud Shell ist eine kostenlose interaktive Shell, mit der Sie die Befehlszeilenanweisungen in diesem Artikel ausführen können. Für sie sind allgemeine Azure-Tools einschließlich des .NET SDK vorinstalliert. Wenn Sie bei Ihrem Azure-Abonnement angemeldet sind, starten Sie Azure Cloud Shell über shell.azure.com. Weitere Informationen zu Azure Cloud Shell finden Sie in der Dokumentation.
Schlüsselwerte hinzufügen
Fügen Sie dem App Configuration-Speicher die folgenden Schlüsselwerte hinzu, und belassen Sie Bezeichnung und Inhaltstyp bei ihren Standardwerten. Weitere Informationen zum Hinzufügen von Schlüssel-Wert-Paaren zu einem Speicher mithilfe des Azure-Portals oder der CLI finden Sie unter Erstellen eines Schlüssel-Wert-Paars.
Schlüssel | Wert |
---|---|
TestApp:Settings:BackgroundColor | weiß |
TestApp:Settings:FontColor | schwarz |
TestApp:Settings:FontSize | 24 |
TestApp:Settings:Message | Daten aus Azure App Configuration |
Erstellen einer ASP.NET Core-Web-App
Verwenden Sie die .NET-Befehlszeilenschnittstelle (Command Line Interface, CLI), um ein neues ASP.NET Core-Web-App-Projekt zu erstellen. Die Azure Cloud Shell stellt Ihnen diese Tools zur Verfügung. Sie sind auch auf der Windows-, macOS- und Linux-Plattform verfügbar.
Führen Sie den folgenden Befehl aus, um eine ASP.NET Core-Web-App in einem neuen Ordner TestAppConfig zu erstellen:
dotnet new webapp --output TestAppConfig
Herstellen einer Verbindung mit dem App Configuration-Speicher
Verbinden Sie sich mit Ihrem App Configuration-Speicher entweder mithilfe von Microsoft Entra ID (empfohlen) oder mit einer Verbindungszeichenfolge.
Navigieren Sie zum Verzeichnis TestAppConfig des Projekts, und führen Sie den folgenden Befehl aus, um Verweise auf das NuGet-Paket hinzuzufügen.
dotnet add package Microsoft.Azure.AppConfiguration.AspNetCore dotnet add package Azure.Identity
Erstellen Sie ein Benutzergeheimnis für die Anwendung, indem Sie zum Ordner TestAppConfig navigieren und den folgenden Befehl ausführen.
Der Befehl verwendet den Geheimnis-Manager, um ein Geheimnis namens
Endpoints:AppConfiguration
zu speichern, das den Endpunkt für Ihren App Configuration-Speicher speichert. Ersetzen Sie den Platzhalter<your-App-Configuration-endpoint>
durch den Endpunkt Ihres App Configuration-Speichers. Sie finden den Endpunkt im BereichÜbersicht Ihres App Configuration-Speichers im Azure-Portal.dotnet user-secrets init dotnet user-secrets set Endpoints:AppConfiguration "<your-App-Configuration-endpoint>"
Öffnen Sie Program.cs und fügen Sie die folgenden Namespaces hinzu:
using Microsoft.Extensions.Configuration; using Microsoft.Azure.AppConfiguration.AspNetCore; using Azure.Identity;
Verbinden Sie sich mit Ihrem App Configuration-Speicher, indem Sie die
AddAzureAppConfiguration
-Methode in der DateiProgram.cs
aufrufen.Sie verwenden die
DefaultAzureCredential
für die Authentifizierung beim App Configuration-Speicher. Befolgen Sie die Anweisungen, um Ihre Anmeldeinformationen der Rolle App Configuration-Datenleser zuzuweisen. Achten Sie darauf, ausreichend Zeit für die Verteilung der Berechtigung zu warten, bevor Sie Ihre Anwendung ausführen.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 // ... ...
Dieser Code lädt alle Schlüsselwerte, die über keine Bezeichnung im App Configuration-Speicher verfügen. Weitere Informationen zum Laden von App Configuration-Daten finden Sie in der API-Referenz für App Configuration-Anbieter.
Lesen aus dem App Configuration-Speicher
In diesem Beispiel aktualisieren Sie eine Webseite, um ihren Inhalt mithilfe der Einstellungen anzuzeigen, die Sie in Ihrem App Configuration-Speicher konfiguriert haben.
Fügen Sie die Datei Settings.cs im Stammverzeichnis Ihres Projekts hinzu. Sie definiert eine stark typisierte
Settings
-Klasse für die von Ihnen verwendete Konfiguration. Ersetzen Sie den Namespace durch den Namen Ihres Projekts.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; } } }
Binden Sie den Abschnitt
TestApp:Settings
in der Konfiguration an dasSettings
-Objekt.Aktualisieren Sie Program.cs mit dem folgenden Code, und fügen Sie den
TestAppConfig
-Namespace am Anfang der Datei hinzu.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 // ... ...
Öffnen Sie Index.cshtml.cs im Verzeichnis Pages, und aktualisieren Sie die
IndexModel
-Klasse mit dem folgenden Code. Fügen Sie am Anfang der Datei den Namespaceusing Microsoft.Extensions.Options
hinzu, sofern noch nicht vorhanden.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; } }
Öffnen Sie Index.cshtml im Verzeichnis Pages, und aktualisieren Sie den Inhalt mit dem folgenden Code:
@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>
Lokales Erstellen und Ausführen der App
Um die App mit der .NET-CLI zu erstellen, navigieren Sie zum Stammverzeichnis Ihres Projekts. Führen Sie den folgenden Befehl in der Befehlsshell aus:
dotnet build
Führen Sie nach erfolgreicher Erstellung den folgenden Befehl aus, um die Web-App lokal auszuführen:
dotnet run
Die Ausgabe des
dotnet run
-Befehls enthält zwei URLs. Öffnen Sie einen Browser, und navigieren Sie zu einer dieser URLs, um auf Ihre Anwendung zuzugreifen. Beispiel:https://localhost:5001
.Wenn Sie in der Azure Cloud Shell arbeiten, wählen Sie die Schaltfläche Webvorschau und dann Konfigurieren aus. Wenn Sie zum Konfigurieren des Ports für die Vorschau aufgefordert werden, geben Sie 5000 ein, und wählen Sie Öffnen und durchsuchen aus.
Die Webseite sieht wie folgt aus:
Bereinigen von Ressourcen
Wenn Sie die in diesem Artikel erstellten Ressourcen nicht mehr verwenden möchten, löschen Sie die erstellte Ressourcengruppe, um Kosten zu vermeiden.
Wichtig
Das Löschen einer Ressourcengruppe kann nicht rückgängig gemacht werden. Die Ressourcengruppe und alle darin enthaltenen Ressourcen werden unwiderruflich gelöscht. Achten Sie daher darauf, dass Sie nicht versehentlich die falsche Ressourcengruppe oder die falschen Ressourcen löschen. Falls Sie die Ressourcen für diesen Artikel in einer Ressourcengruppe erstellt haben, die andere beizubehaltende Ressourcen enthält, löschen Sie die Ressourcen einzeln über den entsprechenden Bereich, statt die Ressourcengruppe zu löschen.
- Melden Sie sich beim Azure-Portal an, und klicken Sie auf Ressourcengruppen.
- Geben Sie im Feld Nach Name filtern den Namen Ihrer Ressourcengruppe ein.
- Wählen Sie in der Ergebnisliste den Ressourcengruppennamen aus, um eine Übersicht anzuzeigen.
- Wählen Sie die Option Ressourcengruppe löschen.
- Sie werden aufgefordert, das Löschen der Ressourcengruppe zu bestätigen. Geben Sie zur Bestätigung den Namen Ihrer Ressourcengruppe ein, und klicken Sie auf Löschen.
Daraufhin werden die Ressourcengruppe und alle darin enthaltenen Ressourcen gelöscht.
Nächste Schritte
In dieser Schnellstartanleitung führen Sie die folgenden Schritte aus:
- Bereitstellen eines neuen App Configuration-Speichers.
- Herstellen einer Verbindung mit Ihrem App Configuration-Speicher mithilfe der App Configuration-Anbieterbibliothek
- Lesen der Schlüsselwerte Ihres App Configuration-Speichers mit der Konfigurationsanbieterbibliothek
- Anzeigen einer Webseite mit den Einstellungen, die Sie in Ihrem App Configuration-Speicher konfiguriert haben
Fahren Sie mit dem nächsten Tutorial fort, um zu erfahren, wie Sie Ihre ASP.NET Core-Web-App für das dynamische Aktualisieren der Konfigurationseinstellungen konfigurieren: