2010-11-24 15 views
15

बस एक खाली "एएसपी.नेट वेब अनुप्रयोग" बनाया। प्रवेश बिंदु कहां है?एएसपी.नेट प्रवेश बिंदु?

मुझे "Default.aspx" दिखाई देता है जो कॉल करने वाला डिफ़ॉल्ट टेम्पलेट प्रतीत होता है। "साइट। मस्टर" जो मुझे लगता है कि एक लेआउट फ़ाइल के रूप में कार्य करता है। "Global.asax" ऐसा लगता है कि ईवेंट हैंडलिंग के लिए कुछ विधि स्टब्स प्रदान करते हैं। और फिर "Web.config" में कुछ साइट-विशिष्ट सेटिंग्स जैसे कि डीबी कनेक्शन स्ट्रिंग, और कुछ प्रमाणीकरण सामग्री होती है।

लेकिन मुझे कोई भी "मार्ग" या कुछ भी नहीं कहने के लिए कहता है कि डिफ़ॉल्ट रूप से "Default.aspx" को कॉल किया जाना चाहिए, या "Global.asax" को ईवेंट को संभालने के लिए उपयोग किया जाना चाहिए। यह सामान कहां निर्दिष्ट है? क्या यह एएसपी के मूल में पकाया जाता है? क्या मैं सभी अनुरोधों को एक सी # विधि के माध्यम से फ़िल्टर नहीं कर सकता और फिर प्रतिनिधि हूं कि मैं कैसे हूं? और कुछ प्रकार की एचटीपी प्रतिक्रिया वापस आती है?

+0

क्या आप पूछ रहे थे कि एएसपी.NET वेब एप्लिकेशन शुरू होने पर कोड की पहली पंक्ति क्या होती है (अपना पहला अनुरोध लेता है) या आप पूछ रहे थे कि साइट पर मनमाने ढंग से अनुरोध किए जाने पर कौन सा कोड मारा जाता है? – Matt

+0

मैं * सोचता हूं * मैं कोड की पहली पंक्ति जानना चाहता था जो एक नया अनुरोध आने पर हिट हो जाता है। मैं भूल गया था कि एएसपी.नेट एक PHP एप से अलग काम करता है जिसमें एएसपी.नेट केवल एक बार बूट होता है, जबकि PHP यह हर अनुरोध पर सबकुछ चलाता है। – mpen

+2

ठीक कुछ ऐसी चीजें हैं जो एएसपी.NET एप्लिकेशन में केवल लोड होने पर और फिर उन अनुरोधों पर होती हैं जो प्रत्येक अनुरोध पर होती हैं। ये लिंक क्रमशः एएसपी.नेट वेबफॉर्म एप्लिकेशन और एएसपी.नेट एमवीसी अनुप्रयोगों के लिए पृष्ठ जीवन चक्र में क्या होता है -> http://msdn.microsoft.com/en-us/library/ms178472(v=vs.100)। एएसपीएक्स, http://www.asp.net/mvc/tutorials/mvc-5/lifecycle-of-an-aspnet-mvc-5- अनुप्रयोग – Matt

उत्तर

8

मैं मैं हिट हो जाता है कि कोड की पहली पंक्ति को पता है जब एक नया अनुरोध में आता है चाहता था लगता है।

HttpApplication वर्ग अपने आवेदन के कोड की पहली पंक्ति में शामिल है। इसका कन्स्ट्रक्टर आपके आवेदन के लिए प्रवेश बिंदु बहुत अधिक है। From the docs:

सभी मूल अनुप्रयोग वस्तुओं को प्रारंभ करने के बाद, एप्लिकेशन एचटीपी अनुप्रयोग वर्ग का एक उदाहरण बनाकर शुरू किया जाता है।

कोड के पहले पंक्ति को लिखने के दो कैननिक तरीके हैं जो नए अनुरोध के लिए हिट हो जाते हैं। दोनों में ग्लोबल.एक्सएक्स फ़ाइल बनाने और इसकी घटनाओं को संभालने में शामिल हैं।

एप्लिकेशन ईवेंट या विधियों को संभालने के लिए, आप ग्लोबल नाम की एक फ़ाइल बना सकते हैं।अपने आवेदन की मूल निर्देशिका में asax।

आप Application_Start और/या Application_BeginRequest को संभालना चाहते हैं।

  • Application_Start कोड के लिए है जो एप्लिकेशन के पहले अनुरोध पर हिट हो जाता है। प्रत्येक बार जब हम एप्लिकेशन को पुनरारंभ करेंगे, तो अगला अनुरोध यहां दर्ज होगा। यह प्रति एप्लिकेशन स्टार्टअप है।
  • Application_BeginRequest कोड के लिए है जो एप्लिकेशन को प्रत्येक अनुरोध पर हिट करता है। यह प्रति अनुरोध है।

बेशक, यह सभी एएसपी.नेट कोर के साथ बदलता है।

6

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

alt text

+0

अच्छा जवाब! मुझे लगता है कि मुझे * समाधान * प्राप्त करने के लिए एक और सवाल पूछना है। – mpen

1

फ़ाइल डिफ़ॉल्ट रूप से कहा जाता है:

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

+0

ठीक है .... विकास सर्वर पर क्या है जो मैं एफ 5 दबाकर वीएस के माध्यम से चलाता हूं? क्या कोई परियोजना सेटिंग कहीं है? – mpen

+0

नहीं, वह सर्वर डिफ़ॉल्ट पृष्ठों के रूप में default.aspx का उपयोग करता है (मुझे लगता है), लेकिन आप विजुअल स्टूडियो पर स्टार्ट पेज का चयन कर सकते हैं, राइट क्लिक करके और स्टार्ट पेज के रूप में चुनें। जब आप F5 दबाते हैं तो वह प्रारंभ पृष्ठ लोड होता है – Elph

2

डिफ़ॉल्ट रूप से, एएसपी.NET केवल यह निर्धारित करने के लिए कि कौन सा पृष्ठ प्रदर्शित करना है, भौतिक फ़ाइल पथ का उपयोग करता है। Default.aspx डिफ़ॉल्ट है क्योंकि यह आपकी प्रोजेक्ट की स्टार्टअप फ़ाइल है, या क्योंकि इसे आईआईएस में आपके रूट फ़ोल्डर के डिफ़ॉल्ट दस्तावेज़ के रूप में मैप किया गया है।

यदि आप कस्टम रूटिंग चाहते हैं तो आप एएसपी.नेट एमवीसी के हिस्से के रूप में ढांचे में जोड़े गए रूटिंग घटकों का वैकल्पिक रूप से उपयोग कर सकते हैं। इस here

1

प्रविष्टि का उपयोग करने के बारे में एक मार्गदर्शिका है I प्रविष्टि एक आईआईएस आईएसएपीआई एक्सटेंशन है जो Asp.net अनुरोधों को संसाधित करता है। यदि आप रूटिंग चाहते हैं तो आप Asp.net mvc का उपयोग कर सकते हैं, या अनुरोधों को अवरुद्ध करने और रूट करने के लिए एक HttpModule का उपयोग कर सकते हैं।

यहां Asp.net के बारे में अधिक देखें। http://www.west-wind.com/presentations/howaspnetworks/howaspnetworks.asp

संबंधित मुद्दे