Kurz: použití dynamické konfigurace v aplikaci .NET Core
Knihovna poskytovatele .NET konfigurace aplikace podporuje aktualizaci konfigurace na vyžádání, aniž by došlo k restartování aplikace. V tomto kurzu se dozvíte, jak můžete implementovat aktualizace dynamické konfigurace do kódu. Sestavuje se v aplikaci představené v rychlém startu. Než budete pokračovat, měli byste dokončit Vytvoření aplikace .NET Core s konfigurací aplikace .
K provedení kroků v tomto kurzu můžete použít libovolný editor kódu. Visual Studio Code je vynikající možnost, která je k dispozici na platformách Windows, macOS a Linux.
V tomto kurzu se naučíte:
- Nastavte si aplikaci .NET Core, abyste aktualizovali její konfiguraci v reakci na změny v úložišti konfigurace aplikace.
- Využijte ve své aplikaci nejnovější konfiguraci.
Požadavky
Pokud ještě nemáte předplatné Azure,vytvořte si bezplatný účet před tím, než začnete.
Dokončete rychlé zprovoznění Vytvoření aplikace .NET Core pomocí konfigurace aplikace.
Aktualizace konfigurace řízené aktivitami
Otevřete program. cs a aktualizujte kód následujícím způsobem.
using Microsoft.Extensions.Configuration;
using Microsoft.Extensions.Configuration.AzureAppConfiguration;
using System;
using System.Threading.Tasks;
namespace TestConsole
{
class Program
{
private static IConfiguration _configuration = null;
private static IConfigurationRefresher _refresher = null;
static void Main(string[] args)
{
var builder = new ConfigurationBuilder();
builder.AddAzureAppConfiguration(options =>
{
options.Connect(Environment.GetEnvironmentVariable("ConnectionString"))
.ConfigureRefresh(refresh =>
{
refresh.Register("TestApp:Settings:Message")
.SetCacheExpiration(TimeSpan.FromSeconds(10));
});
_refresher = options.GetRefresher();
});
_configuration = builder.Build();
PrintMessage().Wait();
}
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!");
}
}
}
V ConfigureRefresh metodě je klíč v úložišti konfigurace aplikace zaregistrován pro sledování změn. RegisterMetoda má volitelný logický parametr refreshAll , 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.
Volání ConfigureRefresh metody samotné nezpůsobí automatickou aktualizaci konfigurace. Zavoláte TryRefreshAsync metodu 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á. Budete chtít zahrnout TryRefreshAsync volá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 se zavoláte pokaždé, když stisknete klávesu TryRefreshAsync ENTER. Všimněte si, že i v případě, že se volání z TryRefreshAsync jaké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 a TryRefreshAsync volání se spustí v rámci aktivity aplikace znovu. Volání TryRefreshAsync je 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 a nastavte ji na přístupový klíč na úložiště konfigurace aplikace. pokud použijete příkazový řádek Windows, spusťte následující příkaz a restartujte příkazový řádek, aby se změna projevila:
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 používáte macOS nebo Linux, spusťte následující příkaz:
export ConnectionString='connection-string-of-your-app-configuration-store'Spusťte následující příkaz, který sestaví konzolovou aplikaci:
dotnet buildPo úspěšném dokončení sestavení spusťte následující příkaz pro místní spuštění aplikace:
dotnet run
Přihlaste se k webu Azure Portal. Vyberte všechny prostředky a vyberte instanci úložiště konfigurace aplikace, kterou jste vytvořili v rychlém startu.
Vyberte Průzkumník konfigurace a aktualizujte hodnoty následujících klíčů:
Klíč Hodnota TestApp: Nastavení: zpráva Data z konfigurace aplikace Azure – Aktualizováno Stiskněte klávesu ENTER, aby se aktivovala aktualizace a tiskla aktualizovaná hodnota 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 Core dynamickou aktualizaci nastavení konfigurace z konfigurace aplikace. Další informace o tom, jak používat spravovanou identitu Azure ke zjednodušení přístupu ke konfiguraci aplikace, najdete v dalším kurzu.