Hinweis
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.
Dieses Lernprogramm zeigt, wie Sie dynamische Konfigurationsupdates in einer Aspire-Lösung aktivieren können. Sie baut auf der Web-App auf, die in der Schnellstartanleitung eingeführt wurde. Ihre App nutzt die App Configuration-Anbieterbibliothek für die integrierten Funktionen zur Zwischenspeicherung und Aktualisierung der Konfiguration. Bevor Sie fortfahren, beenden Sie zuerst die Erstellung einer Aspire-Lösung mit Azure App Configuration.
In diesem Tutorial erfahren Sie, wie:
- Richten Sie Ihre App ein, um die Konfiguration als Reaktion auf Änderungen in einem App-Konfigurationsspeicher zu aktualisieren.
- Einfügen der neuesten Konfiguration in Ihre App.
Voraussetzungen
Schließen Sie die Schnellstartanleitung ab: Erstellen Sie eine Aspire-Lösung mit Azure App-Konfiguration.
Erneutes Laden von Daten aus App Configuration
Navigieren Sie zum Verzeichnis des
WebProjekts (erstellt in den Schritten "Voraussetzungen "). Führen Sie den folgenden Befehl aus, um dasMicrosoft.Azure.AppConfiguration.AspNetCoreNuget-Paket hinzuzufügen.dotnet add package Microsoft.Azure.AppConfiguration.AspNetCoreÖffnen Sie AppHost.cs, und aktualisieren Sie die Methode, die Sie während des Schnellstarts hinzugefügt haben.
builder.AddAzureAppConfiguration( "appconfiguration", configureOptions: options => { // Load all keys that start with `TestApp:` and have no label. options.Select("TestApp:*", LabelFilter.Null); // Reload configuration if any selected key-values have changed. options.ConfigureRefresh(refreshOptions => refreshOptions.RegisterAll()); });Die
SelectMethode wird verwendet, um alle Schlüsselwerte zu laden, deren Schlüsselname mit TestApp beginnt und keine Bezeichnung aufweisen. Sie können dieSelectMethode mehrmals aufrufen, um Konfigurationen mit unterschiedlichen Präfixen oder Bezeichnungen zu laden. Wenn Sie einen App-Konfigurationsspeicher für mehrere Apps freigeben, hilft dieser Ansatz beim Laden der Konfiguration, die nur für Ihre aktuelle App relevant ist, anstatt alles aus Ihrem Store zu laden.Innerhalb der
ConfigureRefreshMethode rufen Sie dieRegisterAllMethode auf, den App-Konfigurationsanbieter anzuweisen, die gesamte Konfiguration neu zu laden, wenn eine Änderung in einem der ausgewählten Schlüsselwerte erkannt wird (die mit TestApp beginnen und keine Bezeichnung haben). Weitere Informationen zum Überwachen von Konfigurationsänderungen finden Sie unter Bewährte Methoden für die Aktualisierung der Konfiguration.Fügen Sie der Dienstsammlung Ihrer App die Middleware für die Azure App-Konfiguration hinzu.
Aktualisieren Sie Program.cs mit dem folgenden Code.
// Existing code in Program.cs // ... ... // Add Azure App Configuration middleware to the container of services. builder.Services.AddAzureAppConfiguration(); var app = builder.Build(); // The rest of existing code in program.cs // ... ...Rufen Sie die
UseAzureAppConfiguration-Methode auf. Dadurch kann Ihre App die Konfiguration automatisch mithilfe der App Configuration-Middleware aktualisieren.Aktualisieren Sie Program.cs mit dem folgenden Code.
// Existing code in Program.cs // ... ... var app = builder.Build(); if (!app.Environment.IsDevelopment()) { app.UseExceptionHandler("/Error"); app.UseHsts(); } // Use Azure App Configuration middleware for dynamic configuration refresh. app.UseAzureAppConfiguration(); // The rest of existing code in program.cs // ... ...
Anforderungsgesteuerte Konfigurationsaktualisierung
Die Konfigurationsaktualisierung wird durch die eingehenden Anforderungen an Ihre Web-App ausgelöst. Wenn ihre App im Leerlauf ist, tritt keine Aktualisierung auf. Wenn Ihre App aktiv ist, überwacht die App-Konfigurations-Middleware alle Schlüssel, die Sie für die Aktualisierung im ConfigureRefresh Aufruf registriert haben. Die Middleware wird bei jeder eingehenden Anforderung an Ihre App ausgelöst. Die Middleware sendet jedoch nur Anforderungen, um den Wert in App Configuration zu überprüfen, wenn das von Ihnen festgelegte Aktualisierungsintervall verstrichen ist.
- Wenn eine Anforderung an die App-Konfiguration zur Änderungserkennung fehlschlägt, verwendet Ihre App weiterhin die zwischengespeicherte Konfiguration. Neue Versuche, nach Änderungen zu suchen, werden regelmäßig vorgenommen, während neue eingehende Anforderungen an Ihre App vorhanden sind.
- Die Konfigurationsaktualisierung erfolgt asynchron zur Verarbeitung der eingehenden Anforderungen Ihrer App. Die eingehende Anforderung, die die Aktualisierung ausgelöst hat, wird nicht blockiert oder verlangsamt. Die Anforderung, die die Aktualisierung ausgelöst hat, erhält möglicherweise nicht die aktualisierten Konfigurationswerte, aber spätere Anforderungen erhalten neue Konfigurationswerte.
- Um sicherzustellen, die Middleware auszulösen, rufen Sie die
app.UseAzureAppConfiguration()-Methode so früh wie möglich in der Anforderungspipeline auf, damit eine andere Middleware sie nicht in Ihrer App überspringen kann.
Lokales Ausführen der App
Führen Sie das
AppHostProjekt aus. Wechseln Sie zum Aspire-Dashboard, und öffnen Sie die Web-App.Navigieren Sie im Azure-Portal zum Konfigurations-Explorer Ihres App Configuration-Speichers, und aktualisieren Sie den Wert des folgenden Schlüssels.
Key Wert TestApp:Settings:Message Willkommen bei Azure App Configuration - Aktualisiert! Aktualisieren Sie den Browser mehrmals. Wenn das Aktualisierungsintervall nach 30 Sekunden verstrichen ist, wird die Seite mit aktualisierten Inhalten angezeigt.
Wechseln Sie zum Aspire-Dashboard, und öffnen Sie die strukturierten Protokolle. Sie sehen, dass die Ressource ein Protokoll mit der Nachricht "Konfiguration neu geladen." hat.
Lokales Ausführen der App
Führen Sie das
AppHostProjekt aus. Wechseln Sie zum Aspire-Dashboard, und öffnen Sie die Web-App.Wechseln Sie zur Emulatorbenutzeroberfläche, bearbeiten Sie den Wert des folgenden Schlüssels.
Key Wert TestApp:Settings:Message Hallo von Azure App Configuration - Aktualisiert! Aktualisieren Sie den Browser mehrmals. Wenn das Aktualisierungsintervall nach 30 Sekunden verstrichen ist, wird die Seite mit aktualisierten Inhalten angezeigt.
Wechseln Sie zum Aspire-Dashboard, und öffnen Sie die strukturierten Protokolle. Sie sehen, dass die
webfrontendRessource ein Log mit der Meldung "Konfiguration neu geladen." hat.
Nächste Schritte
In diesem Lernprogramm haben Sie Ihre Aspire-App aktiviert, um Konfigurationseinstellungen dynamisch aus der App-Konfiguration zu aktualisieren. Um zu erfahren, wie Sie die dynamische Konfiguration in einer ASP.NET-Webanwendung aktivieren können, fahren Sie mit dem nächsten Lernprogramm fort: