ASP.NET कोर कॉन्फ़िगरेशन और पर्यावरण चर का उपयोग

ब्लॉग

ASP.NET कोर कॉन्फ़िगरेशन और पर्यावरण चर का उपयोग

ASP.NET कोर कॉन्फ़िगरेशन और पर्यावरण चर का उपयोग

प्रस्तावना

आमतौर पर एप्लिकेशन डेवलपमेंट से लेकर आधिकारिक लॉन्च तक, इस प्रक्रिया में हमें कई चरणों में विभाजित किया जाएगा, आमतौर पर विकास, परीक्षण और औपचारिक वातावरण होगा। हम प्रत्येक वातावरण के पैरामीटर कॉन्फ़िगरेशन के लिए विभिन्न मापदंडों का उपयोग करेंगे। इसलिए, प्रासंगिक पर्यावरण एपीआई प्रदान की जाती है एएसपी.नेट कोर, ताकि हम इन चीजों को बेहतर तरीके से कर सकें।



परिवेश

एएसपी.नेट कोर रनटाइम वातावरण की पहचान करने के लिए ASPNETCORE_ENVIRONMENT का उपयोग करता है।

एएसपी.नेट कोर डिफ़ॉल्ट वातावरण



अपने ट्वीट्स को सार्वजनिक कैसे करें
  • विकास: विकास पर्यावरण
  • स्टेजिंग: स्टेजिंग एनवायरनमेंट (टेस्ट एनवायरनमेंट)
  • उत्पादन: औपचारिक वातावरण
    सिस्टम चर ASPNETCORE_ENVIRONMENT प्राप्त करने के लिए, इसे संस्करण 3.0 से पहले IHostingEnvironment को इंजेक्ट करके प्राप्त किया जा सकता है, और IWebHostEnvironment के माध्यम से 3.x कृपया निम्नलिखित कोड स्निपेट देखें:
public class Startup { public void Configure(IApplicationBuilder app, IWebHostEnvironment env) { if (env.IsDevelopment()) { } app.Run(async (context) => { await context.Response.WriteAsync( $'EnvironmentName: {env.EnvironmentName},IsDevelopment: {env.IsDevelopment()}' ); }); } }

वेबसाइट शुरू होने के बाद, IWebHostEnvironment को ASPNETCORE_ENVIRONMENT से सामग्री प्राप्त होगी। यह चर हमारे लिए आवश्यक कोई भी मूल्य हो सकता है। यानी वेरिएबल का प्रीसेट वैल्यू होना जरूरी नहीं है, हम इसे कस्टमाइज कर सकते हैं।

उदाहरण के लिए, हम टेस्ट नामक एक परीक्षण वातावरण को परिभाषित करते हैं



public void Configure(IApplicationBuilder app, IWebHostEnvironment env) { env.EnvironmentName = 'test'; if (env.IsDevelopment()) { //TODO }else if (env.IsEnvironment('text')) { //TODO } app.Run(async (context) => { await context.Response.WriteAsync( $'EnvironmentName: {env.EnvironmentName},IsDevelopment: {env.IsDevelopment()}' ); }); }

नोट: Windows और macOS पर, पर्यावरण चर और मान केस संवेदी नहीं होते हैं। Linux परिवेश चर और मान डिफ़ॉल्ट रूप से केस संवेदी होते हैं।

html तालिका पंक्ति रंग
public static IHostBuilder CreateHostBuilder(string[] args) => Host.CreateDefaultBuilder(args) .ConfigureAppConfiguration((hostContext, config) => { var env = hostContext.HostingEnvironment; config.SetBasePath(Path.Combine(env.ContentRootPath, 'Configuration')) .AddJsonFile(path: 'settings.json', optional: false, reloadOnChange: true) .AddJsonFile(path: $'settings.{env.EnvironmentName}.json', optional: true, reloadOnChange: true); }) .ConfigureWebHostDefaults(webBuilder => { webBuilder.UseStartup(); });

उपरोक्त कोड के माध्यम से, हम अपनी कॉन्फ़िगरेशन फ़ाइल पढ़ते हैं और सेटिंग.जेसन को वापस पढ़ते हैं और इसे वैकल्पिक पर सेट करते हैं: गलत, यह दर्शाता है कि कॉन्फ़िगरेशन एक आवश्यक कॉन्फ़िगरेशन है; सेटिंग पढ़ना और पढ़ना जारी रखें। {पर्यावरणनाम}। जेसन फ़ाइल। जब लोड एक ही कुंजी का सामना करता है, तो पिछले कॉन्फ़िगरेशन आइटम को अधिलेखित कर दिया जाएगा।

  • SetBasePath: कॉन्फ़िगर की गई निर्देशिका स्थान सेट करें। यदि इसे किसी भिन्न निर्देशिका में रखा गया है, तो आप पथ बदल सकते हैं।
  • एडजसनफाइल:
    • पथ: फ़ाइल का पथ स्थान।
    • वैकल्पिक: यदि कॉन्फ़िगरेशन फ़ाइल आवश्यक है, तो वैकल्पिक को गलत पर सेट किया जाना चाहिए, और जब फ़ाइल मौजूद नहीं है, तो FileNotFoundException को फेंक दिया जाएगा।
    • reloadOnChange: यदि फ़ाइल को अद्यतन किया जाता है, तो IConfiguration आवृत्ति का मान समकालिक रूप से अद्यतन किया जाता है।

पर्यावरण सेटिंग्स

आईआईएस

web.config कॉन्फ़िगरेशन पर्यावरण चर

विजुअल स्टूडियो कोड

लॉन्च में ASPNETCORE_ENVIRONMENT कॉन्फ़िगर करें।json

{ 'version': '0.1.0', 'configurations': [ { 'name': '.NET Core Launch (web)', 'type': 'coreclr', 'env': { 'ASPNETCORE_ENVIRONMENT': 'Development' } } ] }

विजुअल स्टूडियो आईडीई

गुणलॉन्चसेटिंग्स.जेसन

'profiles': { 'IIS Express': { 'commandName': 'IISExpress', 'launchBrowser': true, 'environmentVariables': { 'ASPNETCORE_ENVIRONMENT': 'Test' } }, }

यह छवि का शीर्षक है

संख्या लिखने के तरीके

#asp #aspdotnet #asp.net-core