Anmerkung
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Viele Anwendungen müssen unterschiedliche Konfigurationen für verschiedene Umgebungen verwenden. Angenommen, eine Anwendung verfügt über einen Konfigurationswert, der den Endpunkt definiert, der für seine Back-End-Datenbank verwendet werden soll. Die Anwendungsentwickler verwenden eine andere Datenbank als die datenbank, die in der Produktion verwendet wird. Der Datenbankendpunkt, den die Anwendung verwendet, muss sich ändern, wenn die Anwendung von der Entwicklung in die Produktion wechselt.
In der Azure App-Konfiguration können Sie Bezeichnungen verwenden, um unterschiedliche Werte für denselben Schlüssel zu definieren. Sie können z. B. einen einzelnen Schlüssel mit unterschiedlichen Werten für Entwicklung und Produktion definieren. Sie können angeben, welche Bezeichnung beim Herstellen einer Verbindung mit der App-Konfiguration geladen werden soll.
Um diese Funktionalität zu veranschaulichen, ändern Sie die in der Schnellstartanleitung erstellte Web-App: Erstellen sie eine ASP.NET Core-App mit Azure App-Konfiguration , um unterschiedliche Konfigurationseinstellungen für die Entwicklung im Vergleich zur Produktion zu verwenden. Schließen Sie die Schnellstartanleitung ab, bevor Sie fortfahren.
Angeben einer Bezeichnung beim Hinzufügen eines Konfigurationswerts
Wechseln Sie im Azure-Portal zum Konfigurations-Explorer , und suchen Sie den Schlüssel "TestApp:Settings:FontColor ", den Sie in der Schnellstartanleitung erstellt haben. Wählen Sie das Kontextmenü aus, und wählen Sie dann "Wert hinzufügen" aus.
Geben Sie auf dem Bildschirm "Wert hinzufügen " einen Wert von Rot und eine Bezeichnung für die Entwicklung ein. Lassen Sie den Inhaltstyp leer. Wählen Sie Anwenden.
Laden von Konfigurationswerten mit einer angegebenen Bezeichnung
Standardmäßig lädt die Azure App-Konfiguration nur Konfigurationswerte ohne Bezeichnung. Wenn Sie Bezeichnungen für Ihre Konfigurationswerte definiert haben, sollten Sie die Bezeichnungen angeben, die beim Herstellen einer Verbindung mit der App-Konfiguration verwendet werden sollen.
Im vorherigen Abschnitt haben Sie einen anderen Konfigurationswert für die Entwicklungsumgebung erstellt. Sie verwenden die HostingEnvironment.EnvironmentName Variable, um dynamisch zu bestimmen, in welcher Umgebung die App derzeit ausgeführt wird. Weitere Informationen finden Sie unter Verwenden mehrerer Umgebungen in ASP.NET Core.
Fügen Sie einen Verweis auf den Namespace "Microsoft.Extensions.Configuration.AzureAppConfiguration " hinzu, um auf die Klassen KeyFilter und LabelFilter zuzugreifen.
using Microsoft.Extensions.Configuration.AzureAppConfiguration;
Laden Sie Konfigurationswerte mit der Bezeichnung, die der aktuellen Umgebung entspricht, indem Sie den Umgebungsnamen an die Select Methode übergeben:
var builder = WebApplication.CreateBuilder(args);
builder.Configuration.AddAzureAppConfiguration(options =>
{
string endpoint = Environment.GetEnvironmentVariable("Endpoint");
options.Connect(new Uri(endpoint), new DefaultAzureCredential())
// Load configuration values with no label
.Select(KeyFilter.Any, LabelFilter.Null)
// Override with any configuration values specific to current hosting env
.Select(KeyFilter.Any, builder.Environment.EnvironmentName);
});
Die Select Methode wird zweimal aufgerufen. Beim ersten Laden werden Konfigurationswerte ohne Bezeichnung geladen. Anschließend werden Konfigurationswerte mit der Bezeichnung geladen, die der aktuellen Umgebung entspricht. Diese umgebungsspezifischen Werte setzen alle entsprechenden Werte ohne Bezeichnung außer Kraft. Sie müssen keine umgebungsspezifischen Werte für jeden Schlüssel definieren. Wenn ein Schlüssel keinen Wert mit einer Beschriftung aufweist, die der aktuellen Umgebung entspricht, wird der Wert ohne Bezeichnung verwendet.
Testen in verschiedenen Umgebungen
Öffnen Sie die launchSettings.json Datei unter dem Properties Verzeichnis. Suchen Sie den config Eintrag unter profiles. Legen Sie im environmentVariables Abschnitt die ASPNETCORE_ENVIRONMENT Variable auf Production.
Erstellen Sie ihre Anwendung, und führen Sie die Anwendung aus, wenn die neuen Werte festgelegt sind.
dotnet build
dotnet run
Verwenden Sie einen Webbrowser, um zu http://localhost:5000wechseln. Sie werden feststellen, dass die Schriftfarbe schwarz ist.
Aktualisieren, launchSettings.json um die ASPNETCORE_ENVIRONMENT Variable auf .Development Führen Sie den Vorgang erneut aus dotnet run .
Sie werden feststellen, dass die Schriftfarbe jetzt rot ist. Dies liegt daran, dass die Anwendung jetzt den Wert dieser TestApp:Settings:FontColorDevelopment Bezeichnung verwendet. Alle anderen Konfigurationswerte bleiben mit ihren Produktionswerten identisch.