Sdílet prostřednictvím


Kurz: Použití dynamické konfigurace v řešení Aspire

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

  1. Přejděte do Web adresáře projektu (vytvořeného v krocích předpokladů ). Spuštěním následujícího příkazu přidejte Microsoft.Azure.AppConfiguration.AspNetCore balíček NuGet.

    dotnet add package Microsoft.Azure.AppConfiguration.AspNetCore
    
  2. Otevř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 Select se používá k načtení všech hodnot klíče, jejichž název klíče začíná testApp: a nemají žádný popisek. Metodu Select můž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.

    ConfigureRefresh Uvnitř 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.

  3. 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
    // ... ...
    
  4. 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

  1. Spusťte projekt AppHost. Přejděte na řídicí panel Aspire a otevřete webovou aplikaci.

    Snímek obrazovky webové aplikace s původní zprávou ze služby Azure App Configuration

  2. 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!
  3. Několikrát aktualizujte prohlížeč. Po uplynutí intervalu aktualizace po 30 sekundách se zobrazí stránka s aktualizovaným obsahem.

    Snímek obrazovky webové aplikace s aktualizovanou zprávou ze služby Azure App Configuration

  4. Přejděte na řídicí panel Aspire a otevřete strukturované protokoly. Uvidíte, že webfrontend prostředek obsahuje protokol obsahující zprávu "Konfigurace byla znovu načtena.".

    Snímek obrazovky řídicího panelu Aspire zobrazující strukturované protokoly

Místní spuštění aplikace

  1. Spusťte projekt AppHost. Přejděte na řídicí panel Aspire a otevřete webovou aplikaci.

    Snímek obrazovky webové aplikace s původní zprávou ze služby Azure App Configuration

  2. 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!
  3. Několikrát aktualizujte prohlížeč. Po uplynutí intervalu aktualizace po 30 sekundách se zobrazí stránka s aktualizovaným obsahem.

    Snímek obrazovky webové aplikace s aktualizovanou zprávou ze služby Azure App Configuration

  4. Přejděte na řídicí panel Aspire a otevřete strukturované protokoly. Uvidíte, že webfrontend prostředek obsahuje protokol obsahující zprávu "Konfigurace byla znovu načtena.".

    Snímek obrazovky řídicího panelu Aspire zobrazující strukturované protokoly

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.