ASP.NET कोर वेब एप्लिकेशन वास्तव में एक कंसोल प्रोजेक्ट है जो प्रोग्राम क्लास में एंट्री पॉइंट पब्लिक स्टैटिक वॉयड मेन () से निष्पादित करना शुरू करता है, जहां हम वेब एप्लिकेशन के लिए एक होस्ट बना सकते हैं।
public class Program{ public static void Main(string[] args){ BuildWebHost(args).Run(); } public static IWebHost BuildWebHost(string[] args) => WebHost.CreateDefaultBuilder(args) .UseStartup<startup>() .Build(); }
वेबहोस्ट एक स्थिर वर्ग है जिसका उपयोग पूर्व-कॉन्फ़िगर डिफ़ॉल्ट के साथ IWebHost और IWebHostBuilder का उदाहरण बनाने के लिए किया जा सकता है।
CreateDefaultBuilder() विधि पूर्व-कॉन्फ़िगर किए गए डिफ़ॉल्ट के साथ WebHostBuilder का एक नया उदाहरण बनाती है। आंतरिक रूप से,
यह Kestrel, IISIntegration और अन्य कॉन्फ़िगरेशन को कॉन्फ़िगर करता है। निम्नलिखित हैक्रिएटडिफॉल्टबिल्डर () विधि।
- “सामग्री रूट” को वर्तमान निर्देशिका के रूप में सेट करता है
- कमांड लाइन आर्ग को आपके कॉन्फ़िगरेशन ऑब्जेक्ट में पुश करने की अनुमति देता है
- appsettings.json और appsettings दोनों को जोड़ता है।{Environment}.json को कॉन्फ़िगरेशन ऑब्जेक्ट में लोड किया जाना है
- कॉन्फ़िगरेशन ऑब्जेक्ट में पर्यावरण चर जोड़ता है
- यदि विकास में है, तो रहस्यों को लोड करने की अनुमति देता है।
- कंसोल/डीबग लॉगर जोड़ता है
- एप्लिकेशन को Kestrel का उपयोग करने और Kestrel कॉन्फ़िगरेशन को लोड किए गए कॉन्फिग से लोड करने के लिए कहता है
- रूटिंग जोड़ता है
- आईआईएस एकीकरण जोड़ता है
जब हम अपने एप्लिकेशन को iis में होस्ट करना चाहते हैं तो हमें UseIISIntegration() जोड़ना होगा विधि IIS को बाहरी वेब सर्वर के रूप में निर्दिष्ट करती है।
स्टार्टअप का उपयोग करें<स्टार्टअप>() विधि वेब होस्ट द्वारा उपयोग किए जाने वाले स्टार्टअप वर्ग को निर्दिष्ट करती है। हम स्टार्टअप के स्थान पर अपनी कस्टम क्लास भी निर्दिष्ट कर सकते हैं।
बिल्ड () विधि IWebHost का एक उदाहरण देता है और रन () वेब एप्लिकेशन को बंद होने तक शुरू करता है।