Sdílet prostřednictvím


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 koncový bod, 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í. Koncový bod databáze, který aplikace používá, se musí při přechodu aplikace z vývoje do produkčního prostředí změnit.

V Azure App 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ý štítek se má načíst při připojení 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 Azure App Configuration , abyste použili různá nastavení konfigurace pro vývoj a produkční prostředí. Než budete pokračovat, dokončete rychlý start.

Zadejte popisek při přidávání hodnoty konfigurace

Na webu Azure Portal přejděte do Průzkumníka konfigurace a vyhledejte klíč TestApp:Settings:FontColor , který jste vytvořili v rychlém startu. Vyberte místní nabídku a pak vyberte Přidat hodnotu.

Položka nabídky Přidat hodnotu

Na obrazovce Přidat hodnotu zadejte hodnotučervenou a popisekvývoje. Nechejte typ obsahu prázdný. Vyberte a použijte.

Načtení hodnot konfigurace se zadaným popiskem

Ve výchozím nastavení azure App Configuration načítá 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 =>
    {
        string endpoint = Environment.GetEnvironmentVariable("Endpoint");
        options.Connect(new Uri(endpoint), new DefaultAzureCredential())
               // 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);
    });

Metoda Select se volá dvakrát. Poprvé načte konfigurační hodnoty bez označení. Potom načte konfigurační hodnoty s popiskem odpovídajícím aktuálnímu prostředí. Hodnoty specifické pro prostředí přebijí 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. V části environmentVariables nastavte proměnnou ASPNETCORE_ENVIRONMENT na Production.

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

Webová aplikace spuštěná s produkční konfigurací

Aktualizujte launchSettings.json, aby byla proměnná ASPNETCORE_ENVIRONMENT nastavena na Development. Spusťte dotnet run znovu.

Všimněte si, že barva písma je teď červená. Důvodem je, že aplikace teď používá hodnotu TestApp:Settings:FontColor, která má popisek Development. Všechny ostatní hodnoty konfigurace zůstanou stejné jako jejich produkční hodnoty.

Webová aplikace spuštěná s konfigurací vývoje

Další kroky

Konfigurace v ASP.NET Core