Pomocí popisků můžete zadat hodnoty konfigurace pro jednotlivé prostředí.
Mnoho aplikací musí používat různé konfigurace pro různá prostředí. Předpokládejme, že aplikace má konfigurační hodnotu, která definuje připojovací řetězec, která se má použít pro svou back-endovou databázi. Vývojáři aplikací používají jinou databázi než databázi používanou v produkčním prostředí. Databáze připojovací řetězec, kterou aplikace používá, se musí při přechodu aplikace z vývoje do produkčního prostředí změnit.
V Aplikace Azure Configuration můžete pomocí popisků definovat různé hodnoty pro stejný klíč. Můžete například definovat jeden klíč s různými hodnotami pro vývoj a produkci. Můžete určit, který popisek se má načíst při připojování ke službě App Configuration.
Abyste si mohli tuto funkci předvést, upravíte webovou aplikaci vytvořenou v rychlém startu: Vytvoříte aplikaci ASP.NET Core s Aplikace Azure Configuration tak, aby používala různá nastavení konfigurace pro vývoj a produkční prostředí. Než budete pokračovat, dokončete rychlý start.
Zadání popisku při přidání hodnoty konfigurace
Na webu Azure Portal přejděte do Průzkumníka konfigurace a vyhledejte klíč TestApp:Nastavení:FontColor, který jste vytvořili v rychlém startu. Vyberte místní nabídku a pak vyberte Přidat hodnotu.
Na obrazovce Přidat hodnotu zadejte hodnotu červenou a popisek vývoje. Nechejte typ obsahu prázdný. Vyberte Použít.
Načtení hodnot konfigurace se zadaným popiskem
Ve výchozím nastavení Aplikace Azure Konfigurace načte pouze hodnoty konfigurace bez popisku. Pokud jste definovali popisky hodnot konfigurace, budete chtít určit popisky, které se mají použít při připojování ke službě App Configuration.
V předchozí části jste pro vývojové prostředí vytvořili jinou hodnotu konfigurace. Proměnnou HostingEnvironment.EnvironmentName
použijete k dynamickému určení prostředí, ve kterém se aplikace právě spouští. Další informace najdete v tématu Použití více prostředí v ASP.NET Core.
Pokud chcete získat přístup ke třídám KeyFilter a LabelFilter, přidejte odkaz na obor názvů Microsoft.Extensions.Configuration.AzureAppConfiguration.
using Microsoft.Extensions.Configuration.AzureAppConfiguration;
Načtěte hodnoty konfigurace s popiskem odpovídajícím aktuálnímu prostředí předáním názvu prostředí do Select
metody:
var builder = WebApplication.CreateBuilder(args);
builder.Configuration.AddAzureAppConfiguration(options =>
{
options.Connect(builder.Configuration.GetConnectionString("AppConfig"))
// Load configuration values with no label
.Select(KeyFilter.Any, LabelFilter.Null)
// Override with any configuration values specific to current hosting env
.Select(KeyFilter.Any, builder.Environment.EnvironmentName);
});
Důležité
Předchozí fragment kódu používá nástroj Secret Manager k načtení nástroje App Configuration připojovací řetězec. Informace o ukládání připojovací řetězec pomocí Správce tajných kódů najdete v rychlém startu pro konfiguraci Aplikace Azure s ASP.NET Core.
Metoda Select
se volá dvakrát. Při prvním načtení konfiguračních hodnot bez popisku. Potom načte konfigurační hodnoty s popiskem odpovídajícím aktuálnímu prostředí. Tyto hodnoty specifické pro prostředí přepíší všechny odpovídající hodnoty bez popisku. Pro každý klíč nemusíte definovat hodnoty specifické pro prostředí. Pokud klíč nemá hodnotu s popiskem odpovídajícím aktuálnímu prostředí, použije hodnotu bez popisku.
Testování v různých prostředích
launchSettings.json
Otevřete soubor v adresářiProperties
. config
Vyhledejte položku v části profiles
. environmentVariables
V části nastavte proměnnou ASPNETCORE_ENVIRONMENT
na Production
hodnotu .
S novou sadou hodnot sestavte a spusťte aplikaci.
dotnet build
dotnet run
Pomocí webového prohlížeče přejděte na http://localhost:5000
. Všimněte si, že barva písma je černá.
Aktualizujte launchSettings.json
, aby proměnná byla nastavena ASPNETCORE_ENVIRONMENT
na Development
hodnotu . Spusťte dotnet run
znovu.
Všimněte si, že barva písma je teď červená. Důvodem je to, že aplikace teď používá hodnotu TestApp:Settings:FontColor
, která má Development
popisek. Všechny ostatní hodnoty konfigurace zůstanou stejné jako jejich produkční hodnoty.