Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Ten samouczek pokazuje, jak włączyć dynamiczne aktualizacje konfiguracji w rozwiązaniu Aspire. Jest ona oparta na aplikacji internetowej wprowadzonej w przewodniku Szybki start. Aplikacja będzie wykorzystywać bibliotekę dostawcy App Configuration do wbudowanego buforowania i odświeżania konfiguracji. Przed kontynuowaniem najpierw ukończ tworzenie rozwiązania Aspire przy użyciu usługi Azure App Configuration.
W tym poradniku nauczysz się, jak:
- Skonfiguruj aplikację, aby zaktualizować jej ustawienia w odpowiedzi na zmiany w magazynie App Configuration.
- Wstrzyknij najnowszą konfigurację do twojej aplikacji.
Wymagania wstępne
Zakończ przewodnik Szybki start: Utwórz rozwiązanie Aspire z Azure App Configuration.
Ponowne ładowanie danych z usługi App Configuration
Przejdź do katalogu projektu
Web(utworzonego w krokach Krokach Wymagań Wstępnych ). Uruchom następującą komendę, aby dodać pakiet NuGetMicrosoft.Azure.AppConfiguration.AspNetCore.dotnet add package Microsoft.Azure.AppConfiguration.AspNetCoreOtwórz AppHost.cs, i zaktualizuj metodę
AddAzureAppConfigurationdodaną podczas przewodnika „szybki start”.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()); });Metoda
Selectsłuży do wczytywania wszystkich par klucz-wartość, których nazwa klucza rozpoczyna się od TestApp: i są bez etykiety. MetodęSelectmożna wywołać więcej niż raz, aby załadować konfiguracje z różnymi prefiksami lub etykietami. Jeśli udostępniasz jeden sklep App Configuration z wieloma aplikacjami, takie podejście ułatwia ładowanie konfiguracji tylko dla bieżącej aplikacji zamiast ładowania wszystkich elementów ze sklepu.Wewnątrz metody
ConfigureRefreshwywołasz metodęRegisterAll, aby poinstruować dostawcę konfiguracji aplikacji o ponownym załadowaniu całej konfiguracji ilekroć wykryje zmianę w dowolnej z wybranych wartości kluczy (rozpoczynające się od TestApp: i bez etykiety). Aby uzyskać więcej informacji na temat monitorowania zmian konfiguracji, zobacz Najlepsze rozwiązania dotyczące odświeżania konfiguracji.Dodaj oprogramowanie pośredniczące Azure App Configuration do kolekcji usług w aplikacji.
Zaktualizuj Program.cs przy użyciu następującego kodu.
// 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 // ... ...Wywołaj metodę
UseAzureAppConfiguration. Pozwala Twojej aplikacji na automatyczne aktualizowanie konfiguracji za pomocą oprogramowania pośredniczącego App Configuration.Zaktualizuj Program.cs przy użyciu następującego kodu.
// 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 // ... ...
Odświeżanie konfiguracji opartej na żądaniach
Odświeżanie konfiguracji jest wyzwalane przez przychodzące żądania do aplikacji internetowej. W przypadku bezczynności aplikacji nie zostanie wykonane żadne odświeżanie. Gdy aplikacja jest aktywna, oprogramowanie pośredniczące App Configuration monitoruje wszystkie klucze zarejestrowane do odświeżania w wywołaniu ConfigureRefresh . Oprogramowanie pośredniczące jest wyzwalane po każdym żądaniu przychodzącym do aplikacji. Jednak oprogramowanie pośredniczące będzie wysyłać żądania tylko w celu sprawdzenia wartości w usłudze App Configuration po upływie ustawionego interwału odświeżania.
- Jeśli żądanie do usługi App Configuration dotyczące wykrywania zmian nie powiedzie się, aplikacja będzie nadal używać buforowanej konfiguracji. Nowe próby sprawdzenia zmian będą podejmowane okresowo, gdy pojawią się nowe żądania do Twojej aplikacji.
- Odświeżanie konfiguracji odbywa się asynchronicznie, niezależnie od przetwarzania żądań przychodzących aplikacji. Nie spowoduje to zablokowania ani spowolnienia żądania przychodzącego, które wyzwoliło odświeżanie. Żądanie, które wyzwoliło odświeżanie, może nie uzyskać zaktualizowanych wartości konfiguracji, ale późniejsze żądania otrzymają nowe wartości konfiguracji.
- Aby upewnić się, że oprogramowanie pośredniczące zostało wyzwolone, wywołaj metodę
app.UseAzureAppConfiguration()odpowiednio wcześnie w potoku żądania, aby żadne inne oprogramowanie pośredniczące nie pominęło go w aplikacji.
Lokalne uruchamianie aplikacji
Uruchom projekt
AppHost. Przejdź do pulpitu nawigacyjnego Aspiruj i otwórz aplikację internetową.W portalu Azure przejdź do Eksploratora konfiguracji magazynu konfiguracji aplikacji i zaktualizuj wartość następującego klucza.
Key Wartość TestApp:Settings:Message Witaj z usługi Azure App Configuration — zaktualizowano! Odśwież przeglądarkę kilka razy. Gdy interwał odświeżania upłynie po 30 sekundach, strona będzie wyświetlana ze zaktualizowaną zawartością.
Przejdź do pulpitu nawigacyjnego Aspiruj i otwórz dzienniki ustrukturyzowane. Zobaczysz, że
webfrontendzasób ma dziennik z komunikatem "Konfiguracja ponownie załadowana".
Lokalne uruchamianie aplikacji
Uruchom projekt
AppHost. Przejdź do pulpitu nawigacyjnego Aspiruj i otwórz aplikację internetową.Przejdź do interfejsu użytkownika emulatora, edytuj wartość następującego klucza.
Key Wartość TestApp:Settings:Message Witaj z usługi Azure App Configuration — zaktualizowano! Odśwież przeglądarkę kilka razy. Gdy interwał odświeżania upłynie po 30 sekundach, strona będzie wyświetlana ze zaktualizowaną zawartością.
Przejdź do pulpitu nawigacyjnego Aspiruj i otwórz dzienniki ustrukturyzowane. Zobaczysz, że
webfrontendzasób ma dziennik z komunikatem "Konfiguracja ponownie załadowana".
Dalsze kroki
W tym samouczku włączono aplikację Aspire w celu dynamicznego odświeżania ustawień konfiguracji z poziomu usługi App Configuration. Aby dowiedzieć się, jak dodać flagę funkcji do aplikacji Aspire, przejdź do następnego samouczka.