J'essaie d'obtenir mon .NET de Base 3.1 application pour utiliser les variables d'environnement lors de l'exécution dans Kubernetes et de secours de appsettings.json
lors de la variable d'environnement pas là.
J'utilise dans mon ConfigureServices
méthode dans le fichier de démarrage
var configuration = new ConfigurationBuilder()
.AddEnvironmentVariables()
.Build();
var dbname = configuration.GetSection("DB_NAME").Value;
Mon appsettings.json
ce fichier a
{
"AppSettings": {
"Data": {
"DB_NAME":"test_db"
}
}
}
Je suis à la définition de la variable d'environnement à l'aide de la commande suivante dans l'invite de commande.
setx DB_NAME ="Kube_test_db"
Quand je lance l'application dans Visual Studio, j'ai le nom db comme Kube_test_db
. Quand je supprime la variable d'environnement Utilisateur sur Windows 10 paramètres du système et exécutez à nouveau l'application dans Visual Studio, cette ligne renvoie la valeur null.
var dbname = configuration.GetSection("DB_NAME").Value;
Ce qui me manque pour obtenir la valeur de revenir à ce qui est défini dans le appsettings.json
fichier?
var dbname = configuration.GetSection("DB_NAME").Value;
pourvar dbname = configuration.GetSection("Appsettings:Data:DB_NAME").Value;
pour obtenir la valeur de la appsettings.json. Cela ne correspond pas à la variable d'environnement qui n'estDB_NAME
. Si j'ai mis la variable d'environnementAppsettings:Data:DB_NAME
et exécuter le codedbname = configuration.GetSection("Appsettings:Data:DB_NAME").Value;
puis-je encore obtenir la valeur de la appsettings.json et non pas de l'environnement.