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.
Data z konfigurace aplikace je možné načíst jako nastavení aplikace v aplikaci .NET Framework. Podívejte se na průvodce rychlým startem pro další informace. Jak je však navrženo rozhraním .NET Framework, nastavení aplikace se může aktualizovat pouze po restartování aplikace. Zprostředkovatel konfigurace aplikace pro .NET je knihovna standardu .NET. Podporuje dynamicky ukládání do mezipaměti a aktualizaci konfigurace bez restartování aplikace. V tomto kurzu se dozvíte, jak můžete implementovat dynamické aktualizace konfigurace v konzolové aplikaci rozhraní .NET Framework.
V tomto kurzu se naučíte:
- Nastavte aplikaci .NET Framework tak, aby aktualizovala konfiguraci v reakci na změny v obchodě App Configuration Store.
- Vložení nejnovější konfigurace do aplikace
Požadavky
- Účet Azure s aktivním předplatným. Vytvořte si ho zdarma.
- Úložiště App Configuration, jak je znázorněno v kurzu pro vytvoření úložiště.
- Visual Studio
- .NET Framework 4.7.2 nebo novější
Přidejte klíč-hodnotu
Přidejte do úložiště App Configuration následující klíč–hodnotu a ponechte Štítek a typ obsahu s výchozími hodnotami. Další informace o tom, jak přidat hodnoty klíčů do úložiště pomocí webu Azure Portal nebo rozhraní příkazového řádku, najdete v tématu Vytvoření hodnoty klíče.
| Klíč | Hodnota |
|---|---|
| TestApp:Settings:Message | Data z konfigurace Aplikace Azure |
Vytvoření konzolové aplikace rozhraní .NET Framework
Spusťte Visual Studio a vyberte Vytvořit nový projekt.
V části Vytvořit nový projekt vyfiltrujte typ projektu konzoly a ze seznamu šablon projektu vyberte Konzolová aplikace (.NET Framework) s jazykem C#. Stiskněte další.
Do pole Konfigurovat nový projekt zadejte název projektu. V části Framework vyberte rozhraní .NET Framework 4.7.2 nebo vyšší. Stiskněte tlačítko Vytvořit.
Opětovné načtení dat z konfigurace aplikace
Klikněte pravým tlačítkem na projekt a vyberte Spravovat balíčky NuGet. Na kartě Procházet vyhledejte a přidejte do projektu nejnovější verzi následujícího balíčku NuGet.
- Microsoft.Extensions.Configuration.AzureAppConfiguration
- Azure.Identity
Otevřete Program.cs a přidejte následující obory názvů.
using Microsoft.Extensions.Configuration; using Microsoft.Extensions.Configuration.AzureAppConfiguration; using Azure.Identity;Přidejte dvě proměnné pro ukládání objektů souvisejících s konfigurací.
private static IConfiguration _configuration; private static IConfigurationRefresher _refresher;Aktualizujte metodu
Mainpro připojení ke službě App Configuration pomocí zadaných možností aktualizace. Připojte se ke službě App Configuration buď pomocí Microsoft Entra ID (doporučeno), nebo připojovacího řetězce.Použijete
DefaultAzureCredentialpro ověření do služby App Configuration. Postupujte podle pokynů a přiřaďte roli Čtenář dat konfigurace aplikace svým přihlašovacím údajům. Ujistěte se, že před spuštěním aplikace necháte dostatek času na šíření oprávnění.// Existing code in Program.cs // ... ... static void Main(string[] args) { var builder = new ConfigurationBuilder(); builder.AddAzureAppConfiguration(options => { string endpoint = Environment.GetEnvironmentVariable("Endpoint"); options.Connect(new Uri(endpoint), new DefaultAzureCredential()) // Load all keys that start with `TestApp:` and have no label. .Select("TestApp:*") // Reload configuration if any selected key-values have changed. .ConfigureRefresh(refresh => { refresh.RegisterAll() .SetRefreshInterval(TimeSpan.FromSeconds(10)); }); _refresher = options.GetRefresher(); }); _configuration = builder.Build(); PrintMessage().Wait(); } // The rest of existing code in Program.cs // ... ...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.Metoda
SetRefreshIntervalurčuje minimální čas, který musí uplynout před provedením nového požadavku do služby App Configuration, aby se zkontrolovaly všechny změny konfigurace. V tomto příkladu přepíšete výchozí dobu vypršení platnosti 30 sekund a místo toho zadáte čas 10 sekund pro demonstrační účely.Přidejte metodu,
PrintMessage()která aktivuje aktualizaci konfiguračních dat z App Configuration.private static async Task PrintMessage() { Console.WriteLine(_configuration["TestApp:Settings:Message"] ?? "Hello world!"); // Wait for the user to press Enter Console.ReadLine(); await _refresher.TryRefreshAsync(); Console.WriteLine(_configuration["TestApp:Settings:Message"] ?? "Hello world!"); }ConfigureRefreshVolání samotné metody nezpůsobí automatickou aktualizaci konfigurace. Zavoláte metoduTryRefreshAsyncz rozhraníIConfigurationRefresher, která aktivuje aktualizaci. Tento návrh spočívá v tom, že se vyhnete požadavkům odesílaným do služby App Configuration, i když je vaše aplikace nečinná. Můžete zahrnout voláníTryRefreshAsynctam, kde považujete vaši aplikaci za aktivní. Může to být například při zpracování příchozí zprávy, objednávky nebo iterace složité úlohy. Může být také v časovači, pokud je vaše aplikace aktivní po celou dobu. V tomto příkladu zavoláteTryRefreshAsync, když stisknete klávesu Enter. Mějte na paměti, že i když voláníTryRefreshAsyncz nějakého důvodu selže, bude vaše aplikace i nadále používat konfiguraci uloženou v mezipaměti. Další pokus bude proveden, až uplyne nakonfigurovaný interval aktualizace a voláníTryRefreshAsyncbude znovu aktivováno aktivitou vaší aplikace. VoláníTryRefreshAsyncje no-op před uplynutím nakonfigurovaného intervalu aktualizace, takže jeho dopad na výkon je minimální, i když se volá často.
Sestavení a místní spuštění aplikace
Nastavte proměnnou prostředí.
Nastavte proměnnou prostředí s názvem
Endpointna koncový bod vašeho úložiště App Configuration, který najdete v části Přehled vašeho úložiště v Azure portálu.Pokud používáte příkazový řádek systému Windows, spusťte následující příkaz a restartujte příkazový řádek, aby se změna projevila:
setx Endpoint "<endpoint-of-your-app-configuration-store>"Pokud používáte PowerShell, spusťte následující příkaz:
$Env:Endpoint = "<endpoint-of-your-app-configuration-store>"Pokud používáte macOS nebo Linux, spusťte následující příkaz:
export Endpoint='<endpoint-of-your-app-configuration-store>'Restartujte Visual Studio, aby se změna projevila.
Stisknutím kombinace kláves Ctrl+ F5 sestavte a spusťte konzolovou 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.
Klíč Hodnota TestApp:Settings:Message Data z konfigurace Aplikace Azure – aktualizována Zpátky ve spuštěné aplikaci stisknutím klávesy Enter aktivujte aktualizaci a vytiskněte aktualizovanou hodnotu v okně příkazového řádku nebo PowerShellu.
Poznámka:
Vzhledem k tomu, že interval aktualizace byl nastaven na 10 sekund pomocí
SetRefreshIntervalmetody při zadávání konfigurace pro operaci aktualizace, hodnota pro nastavení konfigurace bude aktualizována pouze v případě, že uplynulo nejméně 10 sekund od poslední aktualizace pro toto nastavení.
Vyčištění prostředků
Pokud nechcete dál používat prostředky vytvořené v tomto článku, odstraňte skupinu prostředků, kterou jste tady vytvořili, abyste se vyhnuli poplatkům.
Důležité
Odstranění skupiny prostředků je nevratné. Skupina prostředků a všechny prostředky v ní se trvale odstraní. Ujistěte se, že omylem neodstraníte nesprávnou skupinu prostředků nebo prostředky. Pokud jste vytvořili prostředky pro tento článek ve skupině prostředků, která obsahuje další prostředky, které chcete zachovat, odstraňte jednotlivé prostředky z příslušného podokna místo odstranění skupiny prostředků.
- Přihlaste se k webu Azure Portal a vyberte skupiny prostředků.
- Do pole Filtrovat podle názvu zadejte název vaší skupiny prostředků.
- V seznamu výsledků vyberte název skupiny prostředků, abyste zobrazili přehled.
- Vyberte Odstranit skupinu prostředků.
- Zobrazí se výzva k potvrzení odstranění skupiny prostředků. Potvrďte název skupiny prostředků a vyberte Odstranit.
Po několika okamžicích se skupina prostředků a všechny její prostředky odstraní.
Další kroky
V tomto kurzu jste povolili aplikaci .NET Framework tak, aby dynamicky aktualizovala nastavení konfigurace z app Configuration. Pokud chcete zjistit, jak povolit dynamickou konfiguraci ve webové aplikaci ASP.NET (.NET Framework), pokračujte dalším kurzem:
Pokud chcete zjistit, jak pomocí spravované identity Azure zjednodušit přístup ke službě App Configuration, pokračujte dalším kurzem: