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.
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:5000
böngészőt. Megfigyelheti, hogy a betűszín fekete.
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.