kurz: použití dynamické konfigurace v aplikaci .NET Framework
Data z konfigurace aplikace se dají v .NET Framework aplikaci načíst jako aplikace Nastavení. Další informace najdete v tématu rychlý Start. jak je ale navržené .NET Framework, Nastavení aplikace se dá aktualizovat jenom při restartu aplikace. Poskytovatel rozhraní .NET konfigurace aplikace je knihovna .NET Standard. Podporuje ukládání do mezipaměti a dynamické obnovení konfigurace bez restartování aplikace. v tomto kurzu se dozvíte, jak můžete implementovat aktualizace dynamické konfigurace v aplikaci .NET Framework konzolu.
V tomto kurzu se naučíte:
- nastavte si aplikaci .NET Framework pro aktualizaci konfigurace v reakci na změny v úložišti konfigurace aplikace.
- Vloží do aplikace nejnovější konfiguraci.
Požadavky
- Předplatné Azure – Vytvořte si ho zdarma .
- Visual Studio
- .NET Framework 4.7.2 nebo novější
Vytvoření úložiště konfigurace aplikace
Pokud chcete vytvořit nové úložiště konfigurace aplikace, přihlaste se k Azure Portal. V levém horním rohu domovské stránky vyberte vytvořit prostředek. Do pole Hledat na Marketplace zadejte Konfigurace aplikace a vyberte ENTER.

Ve výsledcích hledání vyberte Konfigurace aplikace a pak vyberte vytvořit.

V podokně vytvořit konfiguraci aplikace zadejte následující nastavení:
Nastavení Navrhovaná hodnota Popis Předplatné Vaše předplatné Vyberte předplatné Azure, které chcete použít k testování konfigurace aplikace. Pokud má váš účet jenom jedno předplatné, vybere se automaticky a seznam předplatných se nezobrazí. Skupina prostředků AppConfigTestResources Vyberte nebo vytvořte skupinu prostředků pro prostředek úložiště konfigurace aplikace. Tato skupina je užitečná k organizování více prostředků, které můžete chtít odstranit současně odstraněním skupiny prostředků. Další informace najdete v tématu použití skupin prostředků ke správě prostředků Azure. Název prostředku Globálně jedinečný název Zadejte jedinečný název prostředku, který se má použít pro prostředek úložiště konfigurace aplikace. Název musí být řetězec o 5 až 50 znaků a obsahovat pouze čísla, písmena a -znak. Název nesmí začínat ani končit-znakem.Umístění USA – střed Umístění použijte k určení geografického umístění, ve kterém je úložiště konfigurace aplikace hostované. Nejlepšího výkonu dosáhnete vytvořením prostředku ve stejné oblasti jako jiné součásti aplikace. Cenová úroveň Free Vyberte požadovanou cenovou úroveň. Další informace najdete na stránce s cenami konfigurace aplikací. Vyberte zkontrolovat + vytvořit a ověřte nastavení.
Vyberte Vytvořit. Nasazení může trvat několik minut.
Po dokončení nasazení přejděte do prostředku konfigurace aplikace. Vyberte Nastavení > Přístupové klíče. Poznamenejte si primární připojovací řetězec klíče jen pro čtení. Pomocí tohoto připojovacího řetězce později nakonfigurujete aplikaci tak, aby komunikovala s úložištěm konfigurace aplikace, které jste vytvořili.
Vyberte možnost Průzkumník konfigurace > + vytvořit > klíč-hodnota a přidejte následující klíč-hodnota:
Klíč Hodnota TestApp: Nastavení: zpráva Data z konfigurace aplikace Azure Ponechte popisek a typ obsahu prázdné.
vytvoření konzolové aplikace .NET Framework
spusťte Visual Studio a vyberte vytvořit nový projekt.
v části vytvořit nový projekt, filtrujte podle typu projektu konzoly a vyberte konzolová aplikace (.NET Framework) se C# ze seznamu šablon projektu. Stiskněte tlačítko Další.
V konfiguraci nového projektu zadejte název projektu. v části rozhraní vyberte .NET Framework 4.7.2 nebo vyšší. Stiskněte Vytvořit.
Znovu načíst data z konfigurace aplikace
klikněte pravým tlačítkem na projekt a vyberte spravovat NuGet balíčky. na kartě procházet vyhledejte a do svého projektu přidejte nejnovější verzi následujícího balíčku NuGet.
Microsoft. Extensions. Configuration. AzureAppConfiguration
Otevřete program. cs a přidejte následující obory názvů.
using Microsoft.Extensions.Configuration; using Microsoft.Extensions.Configuration.AzureAppConfiguration;Přidejte dvě proměnné pro uložení objektů souvisejících s konfigurací.
private static IConfiguration _configuration; private static IConfigurationRefresher _refresher;Aktualizujte
Mainmetodu pro připojení ke konfiguraci aplikace pomocí zadaných možností aktualizace.static void Main(string[] args) { var builder = new ConfigurationBuilder(); builder.AddAzureAppConfiguration(options => { options.Connect(Environment.GetEnvironmentVariable("ConnectionString")) // Load all keys that start with `TestApp:`. .Select("TestApp:*") // Configure to reload the key 'TestApp:Settings:Message' if it is modified. .ConfigureRefresh(refresh => { refresh.Register("TestApp:Settings:Message") .SetCacheExpiration(TimeSpan.FromSeconds(10)); }); _refresher = options.GetRefresher(); }); _configuration = builder.Build(); PrintMessage().Wait(); }V
ConfigureRefreshmetodě je klíč v úložišti konfigurace aplikace zaregistrován pro sledování změn.RegisterMetoda má volitelný logický parametrrefreshAll, který může být použit k označení, zda mají být všechny konfigurační hodnoty aktualizovány v případě změny registrovaného klíče. v tomto příkladu se aktualizuje jenom klíč TestApp: Nastavení: zpráva se aktualizuje.SetCacheExpirationMetoda určuje minimální dobu, která musí uplynout před tím, než se v konfiguraci aplikace provede nový požadavek na kontrolu změn konfigurace. V tomto příkladu přepíšete výchozí dobu vypršení platnosti 30 sekund a místo toho určíte dobu 10 sekund pro demonstrační účely.Přidejte metodu nazvanou
PrintMessage(), která aktivuje aktualizaci konfiguračních dat z konfigurace aplikace.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!"); }Volání
ConfigureRefreshmetody samotné nezpůsobí automatickou aktualizaci konfigurace. ZavoláteTryRefreshAsyncmetodu z rozhraníIConfigurationRefresher, aby se aktivovala aktualizace. Tento návrh brání tomu, aby se požadavky na fiktivní zprávy odesílaly do konfigurace aplikace i v případě, že je vaše aplikace nečinná. Můžete zahrnoutTryRefreshAsyncvolání, kde se vaše aplikace považuje za aktivní. Může to být například při zpracování příchozí zprávy, objednávky nebo iterace složitého úkolu. Může být také v časovači, pokud je vaše aplikace ve chvíli aktivní. V tomto příkladu zavoláteTryRefreshAsyncstisknutím klávesy ENTER. Všimněte si, že i v případě, že se volání zTryRefreshAsyncjakéhokoli důvodu nezdaří, bude vaše aplikace nadále používat konfiguraci v mezipaměti. Další pokus bude proveden, jakmile uplyne nakonfigurovaná doba vypršení platnosti mezipaměti aTryRefreshAsyncvolání se spustí v rámci aktivity aplikace znovu. VoláníTryRefreshAsyncje no-op předtím, než uplyne nakonfigurovaná doba vypršení platnosti mezipaměti, takže jeho dopad na výkon je minimální, i když se to často nazývá.
Místní sestavení a spuštění aplikace
Nastavte proměnnou prostředí s názvem ConnectionString na připojovací řetězec klíče jen pro čtení získaný během vytváření úložiště konfigurace aplikace.
pokud použijete příkazový řádek Windows, spusťte následující příkaz:
setx ConnectionString "connection-string-of-your-app-configuration-store"pokud používáte Windows PowerShell, spusťte následující příkaz:
$Env:ConnectionString = "connection-string-of-your-app-configuration-store"pokud chcete, aby se změna projevila, restartujte Visual Studio.
Stisknutím kombinace kláves CTRL + F5 Sestavte a spusťte konzolovou aplikaci.

V Azure Portal přejděte do Průzkumníka konfigurace v úložišti konfigurace aplikace a aktualizujte hodnotu následujícího klíče.
Klíč Hodnota TestApp: Nastavení: zpráva Data z konfigurace aplikace Azure – Aktualizováno Vraťte se do běžící aplikace stisknutím klávesy ENTER aktivujte aktualizaci a vytisknete aktualizovanou hodnotu v příkazovém řádku nebo v okně PowerShellu.

Poznámka
Vzhledem k tomu, že doba vypršení platnosti mezipaměti byla nastavena na 10 sekund pomocí
SetCacheExpirationmetody při určování konfigurace pro operaci aktualizace, bude hodnota nastavení konfigurace aktualizována pouze v případě, že od poslední aktualizace tohoto nastavení uplynula alespoň 10 sekund.
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 předešli 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 nechtěně neodstraníte nesprávnou skupinu prostředků nebo prostředky. Pokud jste vytvořili prostředky pro tento článek v rámci skupiny prostředků, která obsahuje další prostředky, které chcete zachovat, odstraňte všechny prostředky jednotlivě z příslušného podokna, místo aby se odstranila skupina prostředků.
- Přihlaste se k Azure Portala 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ů, aby se zobrazil přehled.
- Vyberte Odstranit skupinu prostředků.
- Zobrazí se výzva k potvrzení odstranění skupiny prostředků. Zadejte název vaší skupiny prostředků, který chcete potvrdit, a vyberte Odstranit.
Po chvíli se odstraní skupina prostředků a všechny její prostředky.
Další kroky
v tomto kurzu jste povolili aplikaci .NET Framework k dynamické aktualizaci nastavení konfigurace z konfigurace aplikace. pokud chcete zjistit, jak povolit dynamickou konfiguraci ve ASP.NET webové aplikaci (.NET Framework), přejděte k dalšímu kurzu:
Další informace o tom, jak používat spravovanou identitu Azure ke zjednodušení přístupu ke konfiguraci aplikace, najdete v dalším kurzu: