मैं कोशिश कर रहा हूँ करने के लिए .नेट कोर 3.1 अनुप्रयोग का उपयोग करने के लिए वातावरण चर में चल रहा है जब Kubernetes और वापस आने के लिए appsettings.json
जब एनवायरनमेंट वेरिएबल सेट नहीं है वहाँ ।
मैं का उपयोग कर रहा हूँ इस में ConfigureServices
विधि में स्टार्टअप फ़ाइल
var configuration = new ConfigurationBuilder()
.AddEnvironmentVariables()
.Build();
var dbname = configuration.GetSection("DB_NAME").Value;
मेरे appsettings.json
फ़ाइल में इस
{
"AppSettings": {
"Data": {
"DB_NAME":"test_db"
}
}
}
मैं स्थापित कर रहा हूँ पर्यावरण चर का उपयोग पर निम्न आदेश कमांड प्रॉम्प्ट.
setx DB_NAME ="Kube_test_db"
जब मैं एप्लिकेशन को चलाने के लिए विजुअल स्टूडियो में, मैं डीबी नाम के रूप में Kube_test_db
. जब मैं हटा उपयोगकर्ता वातावरण चर पर विंडोज 10 सिस्टम सेटिंग और एप्लिकेशन को चलाने के लिए फिर से दृश्य स्टूडियो में, इस लाइन रिटर्न अशक्त.
var dbname = configuration.GetSection("DB_NAME").Value;
क्या मैं याद आ रही मूल्य प्राप्त करने के लिए वापस गिर करने के लिए क्या करने के लिए परिभाषित किया गया है में appsettings.json
फ़ाइल?
var dbname = configuration.GetSection("DB_NAME").Value;
करने के लिएvar dbname = configuration.GetSection("Appsettings:Data:DB_NAME").Value;
प्राप्त करने के लिए मूल्य से appsettings.json. इस मैच नहीं करता है, पर्यावरण चर है, जो केवलDB_NAME
. अगर मैं डाल वातावरण चर के रूप मेंAppsettings:Data:DB_NAME
और कोड चलाने के रूप मेंdbname = configuration.GetSection("Appsettings:Data:DB_NAME").Value;
तो मैं अभी भी मूल्य मिलता appsettings.json और नहीं पर्यावरण से.