Címkék használatával környezeti konfigurációs értékeket adhat meg.

Számos alkalmazásnak különböző konfigurációkat kell használnia különböző környezetekhez. Tegyük fel, hogy egy alkalmazás olyan konfigurációs értékkel rendelkezik, amely meghatározza a háttéradatbázishoz használni kívánt kapcsolati sztring. Az alkalmazásfejlesztők az éles környezetben használttól eltérő adatbázist használnak. Az adatbázisnak kapcsolati sztring, amelyet az alkalmazás használ, a fejlesztésről az éles környezetbe való áttérés során változnia kell.

A Azure-alkalmazás konfigurációban címkék használatával definiálhat különböző értékeket ugyanahhoz a kulcshoz. Meghatározhat például egyetlen kulcsot, amely különböző értékeket tartalmaz a fejlesztéshez és az éles környezethez. Az alkalmazáskonfigurációhoz való csatlakozáskor megadhatja, hogy melyik címke legyen betöltve.

Ennek a funkciónak a bemutatásához módosítania kell a rövid útmutatóban létrehozott webalkalmazást: Hozzon létre egy ASP.NET Core-alkalmazást Azure-alkalmazás Konfigurációval, hogy különböző konfigurációs beállításokat használjon a fejlesztéshez és az éles környezethez. A folytatás előtt végezze el a rövid útmutatót.

Címke megadása konfigurációs érték hozzáadásakor

Az Azure Portalon nyissa meg a Configuration Explorert, és keresse meg a gyorsútmutatóban létrehozott TestApp:Gépház:FontColor kulcsot. Válassza ki a helyi menüt, majd válassza az Érték hozzáadása lehetőséget.

Add Value menu item

Az Érték hozzáadása képernyőn adjon meg egy piros értéketés egy fejlesztési címkét. Hagyja üresen a tartalomtípust . Válassza az Alkalmazás lehetőséget.

Konfigurációs értékek betöltése megadott címkével

Alapértelmezés szerint Azure-alkalmazás konfiguráció csak címkével nem rendelkező konfigurációs értékeket tölt be. Ha már definiált címkéket a konfigurációs értékekhez, meg kell adnia az alkalmazáskonfigurációhoz való csatlakozáskor használni kívánt címkéket.

Az előző szakaszban egy másik konfigurációs értéket hozott létre a fejlesztési környezethez. A változóval HostingEnvironment.EnvironmentName dinamikusan meghatározhatja, hogy az alkalmazás melyik környezetben fut jelenleg. További információ: Több környezet használata a ASP.NET Core-ban.

Adjon hozzá egy hivatkozást a Microsoft.Extensions.Configuration.AzureAppConfiguration névtérhez a KeyFilter és a LabelFilter osztályok eléréséhez.

using Microsoft.Extensions.Configuration.AzureAppConfiguration;

Töltse be a konfigurációs értékeket az aktuális környezetnek megfelelő címkével úgy, hogy átadja a környezet nevét a Select metódusnak:

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);
    });

Fontos

Az előző kódrészlet a Secret Manager eszközzel tölti be az alkalmazáskonfigurációs kapcsolati sztring. A kapcsolati sztring a Secret Managerrel való tárolásáról további információt a Azure-alkalmazás ASP.NET Core-nal való konfigurálásának rövid útmutatójában talál.

A Select metódust kétszer hívjuk meg. Az első alkalommal címkével nem rendelkező konfigurációs értékeket tölt be. Ezután betölti a konfigurációs értékeket az aktuális környezetnek megfelelő címkével. Ezek a környezetspecifikus értékek felülírják a címke nélküli megfelelő értékeket. Nem kell környezetspecifikus értékeket definiálnia minden kulcshoz. Ha egy kulcs nem rendelkezik az aktuális környezetnek megfelelő címkével rendelkező értékkel, akkor az értéket címke nélkül használja.

Tesztelés különböző környezetekben

Nyissa meg a launchSettings.json fájlt a Properties könyvtár alatt. Keresse meg a bejegyzést a config következő alatt profiles: . A szakaszban állítsa a environmentVariables változót a ASPNETCORE_ENVIRONMENT következőre Production: .

Az új értékek beállításával hozza létre és futtassa az alkalmazást.

dotnet build
dotnet run

Nyissa meg a http://localhost:5000böngészőt. Megfigyelheti, hogy a betűszín fekete.

Web application running with production configuration

Frissítse launchSettings.json a változót a ASPNETCORE_ENVIRONMENT következőre Development: . Futtassa ismét az dotnet run parancsot.

Láthatja, hogy a betűszín piros. Ennek az az oka, hogy az alkalmazás most annak az értékét TestApp:Settings:FontColor használja, amelynek címkéje Development van. Az összes többi konfigurációs érték változatlan marad az éles értékekkel.

Web application running with development configuration

Következő lépések