Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
V tomto kurzu se dozvíte, jak povolit dynamické aktualizace konfigurace v řešení Aspire. Navazuje na webovou aplikaci představenou v rychlém průvodci. Vaše aplikace bude využívat knihovnu zprostředkovatele konfigurace aplikace pro integrované možnosti ukládání do mezipaměti a aktualizace konfigurace. Než budete pokračovat, nejprve dokončete vytvoření řešení Aspire s Azure App Configuration .
V tomto návodu se naučíte, jak:
- Nastavte aplikaci tak, aby aktualizovala konfiguraci v reakci na změny v App Configuration Storu.
- Vložte do aplikace nejnovější konfiguraci.
Požadavky
Dokončete rychlý začátek: Vytvoření řešení Aspire pomocí Azure App Configuration.
Opětovné načtení dat z konfigurace aplikace
Přejděte do
Webadresáře projektu (vytvořeného v krocích předpokladů ). Spuštěním následujícího příkazu přidejteMicrosoft.Azure.AppConfiguration.AspNetCorebalíček NuGet.dotnet add package Microsoft.Azure.AppConfiguration.AspNetCoreOtevřete AppHost.cs a aktualizujte metodu
AddAzureAppConfiguration, kterou jste přidali během rychlého startu.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
Selectse používá k načtení všech hodnot klíče, jejichž název klíče začíná testApp: a nemají žádný popisek. MetoduSelectmůžete vícekrát zavolat a načíst konfigurace s různými předponami nebo štítky. Pokud sdílíte jeden obchod s konfigurací aplikací s více aplikacemi, pomůže vám tento přístup načíst konfiguraci jenom relevantní pro vaši aktuální aplikaci, a ne načítat všechno z vašeho storu.ConfigureRefreshUvnitř metody zavoláte metoduRegisterAll, která zprostředkovateli konfigurace aplikace dá pokyn, aby znovu načítal celou konfiguraci, kdykoli zjistí změnu v některé z vybraných hodnot klíče (ty, které začínají testAppem: a nemají žádný popisek). Pro více informací o sledování změn konfigurace viz Nejlepší praxe pro aktualizaci konfigurace.Přidejte middleware Azure App Configuration do kolekce služeb vaší aplikace.
Aktualizujte Program.cs následujícím kódem.
// 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 // ... ...Zavolejte metodu
UseAzureAppConfiguration. Umožňuje vaší aplikaci automaticky aktualizovat konfiguraci pomocí middlewaru App Configuration.Aktualizujte Program.cs následujícím kódem.
// 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 // ... ...
Aktualizace konfigurace řízená požadavkem
Aktualizace konfigurace se aktivuje příchozími požadavky vaší webové aplikace. Pokud je vaše aplikace nečinná, nedojde k žádné aktualizaci. Když je vaše aplikace aktivní, middleware App Configuration sleduje všechny klíče, které jste zaregistrovali pro aktualizaci při volání ConfigureRefresh. Middleware se aktivuje při každém příchozím požadavku do vaší aplikace. Middleware ale bude posílat požadavky pouze na zkontrolování hodnoty v App Configuration, když uplyne vámi nastavený interval aktualizace.
- Pokud požadavek na konfiguraci aplikace pro detekci změn selže, vaše aplikace bude dál používat konfiguraci uloženou v mezipaměti. Nové pokusy o kontrolu změn se budou pravidelně provádět, dokud budou do vaší aplikace přicházet nové požadavky.
- Aktualizace konfigurace probíhá asynchronně ke zpracování příchozích požadavků vaší aplikace. Příchozí požadavek, který aktivoval aktualizaci, nezablokuje ani nezpomalí. Požadavek, který aktivoval aktualizaci, nemusí získat aktualizované hodnoty konfigurace, ale později požadavky získají nové hodnoty konfigurace.
- Pokud chcete zajistit, aby se middleware aktivoval, zavolejte metodu
app.UseAzureAppConfiguration()co nejdříve v kanálu požadavku, aby ho jiný middleware ve vaší aplikaci nepřeskočil.
Místní spuštění aplikace
Spusťte projekt
AppHost. Přejděte na řídicí panel Aspire a otevřete webovou aplikaci.Na portálu Azure přejděte do Průzkumníka konfigurace úložiště konfigurace aplikace a aktualizujte hodnotu následujícího klíče.
Key Hodnota TestApp:Settings:Message Dobrý den z Azure App Configuration – aktualizováno! Několikrát aktualizujte prohlížeč. Po uplynutí intervalu aktualizace po 30 sekundách se zobrazí stránka s aktualizovaným obsahem.
Přejděte na řídicí panel Aspire a otevřete strukturované protokoly. Uvidíte, že
webfrontendprostředek obsahuje protokol obsahující zprávu "Konfigurace byla znovu načtena.".
Místní spuštění aplikace
Spusťte projekt
AppHost. Přejděte na řídicí panel Aspire a otevřete webovou aplikaci.Přejděte do uživatelského rozhraní emulátoru a upravte hodnotu následujícího klíče.
Key Hodnota TestApp:Settings:Message Dobrý den z Azure App Configuration – aktualizováno! Několikrát aktualizujte prohlížeč. Po uplynutí intervalu aktualizace po 30 sekundách se zobrazí stránka s aktualizovaným obsahem.
Přejděte na řídicí panel Aspire a otevřete strukturované protokoly. Uvidíte, že
webfrontendprostředek obsahuje protokol obsahující zprávu "Konfigurace byla znovu načtena.".
Další kroky
V tomto kurzu jste povolili aplikaci Aspire tak, aby dynamicky aktualizovala nastavení konfigurace z app Configuration. Pokud chcete zjistit, jak do aplikace Aspire přidat feature flag, pokračujte na další tutoriál.