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.

Add Value menu item

Na obrazovce Přidat hodnotu zadejte hodnotu červenou a popisekvý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 Productionhodnotu .

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á.

Web application running with production configuration

Aktualizujte launchSettings.json , aby proměnná byla nastavena ASPNETCORE_ENVIRONMENT na Developmenthodnotu . 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.

Web application running with development configuration

Další kroky