2010-02-26 20 views
56

में global.asax का उद्देश्य क्या है हम asp.net में global.asax का उपयोग कैसे कर सकते हैं? और वह क्या है?asp.net

उत्तर

70

Global.asax फ़ाइल के प्रयोजन के MSDN has an outline

प्रभावी रूप से, वैश्विक.एक्सएक्स आपको कोड लिखने की अनुमति देता है जो "सिस्टम स्तर" घटनाओं के जवाब में चलता है, जैसे कि एप्लिकेशन शुरू होता है, एक सत्र समाप्त होता है, एक एप्लिकेशन त्रुटि होती है, कोशिश करने के बिना और जूता-सींग आपकी साइट के प्रत्येक पृष्ठ में।

आप विजुअल स्टूडियो में जोड़ें> नया आइटम> ग्लोबल एप्लिकेशन क्लास चुनकर इसका उपयोग कर सकते हैं।

  • Application_Start
  • Application_End
  • session_start
  • : एक बार जब आप फ़ाइल जोड़ लेते हैं तो (कम से कम विजुअल स्टूडियो 2008 में और बनाया डिफ़ॉल्ट रूप से,) घटनाओं कि सूचीबद्ध हैं के किसी भी के तहत कोड जोड़ सकते हैं
  • Session_End
  • Application_BeginRequest
  • Application_AuthenticateRequest
  • Application_Error
  • 012,

ऐसी अन्य घटनाएं भी हैं जिन्हें आप "लॉगRequest" जैसे हुक भी कर सकते हैं।

+1

global.asax के लिए प्रविष्टि विकिपीडिया से हटा दी गई है। –

+0

@ कैथी सुलिवान, अद्यतन, धन्यवाद! :) – Rob

+0

क्या हम विंडोज़ फॉर्म के लिए global.asax फ़ाइल जोड़ सकते हैं? –

1

ग्लोबल.एक्सएक्स का उपयोग आवेदन से उत्पन्न होने वाली घटनाओं को संभालने के लिए किया जा सकता है। इस कड़ी में एक अच्छा विवरण उपलब्ध कराती है: http://aspalliance.com/1114

5

Global.asax asp.net एप्लिकेशन फ़ाइल है।

यह एक वैकल्पिक फ़ाइल है जो एएसपी.NET या HttpModules द्वारा उठाई गई घटनाओं को संभालती है। अधिकांशतः आवेदन और सत्र प्रारंभ/अंत घटनाओं और वैश्विक त्रुटि प्रबंधन के लिए उपयोग किया जाता है।

उपयोग किए जाने पर, यह वेबसाइट की जड़ में होना चाहिए।

42

वैश्विक asax घटनाओं के बारे में बताया

Application_Init: निकाल दिया जब एक आवेदन initializes या पहले कहा जाता है। यह सभी Http अनुप्रयोग ऑब्जेक्ट उदाहरणों के लिए आह्वान किया गया है।

एप्लिकेशन डिस्प्लेज्ड: किसी एप्लिकेशन को नष्ट करने से ठीक पहले निकाल दिया गया। पहले इस्तेमाल किए गए संसाधनों की सफाई के लिए यह आदर्श स्थान है।

एप्लिकेशन_इरर: एप्लिकेशन के भीतर एक अनचाहे अपवाद का सामना करने पर निकाल दिया गया।

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

एप्लिकेशन_एंड: जब एक एचटीपी अनुप्रयोग वर्ग का अंतिम उदाहरण नष्ट हो जाता है तो निकाल दिया जाता है। इसे एप्लिकेशन के जीवनकाल के दौरान केवल एक बार निकाल दिया जाता है।

Application_BeginRequest: आवेदन अनुरोध प्राप्त होने पर निकाल दिया गया। अनुरोध के लिए यह पहली घटना है, जो अक्सर एक पृष्ठ अनुरोध (यूआरएल) होता है जिसे उपयोगकर्ता प्रवेश करता है।

एप्लिकेशन_इंडरक्वैस्ट: अंतिम अनुरोध एक आवेदन अनुरोध के लिए निकाल दिया गया।

एप्लिकेशन_PreRequestHandlerExecute: एएसपी.NET पृष्ठ ढांचे से पहले निकाल दिया गया एक पृष्ठ या वेब सेवा जैसे ईवेंट हैंडलर को निष्पादित करना शुरू करता है।

Application_PostRequestHandlerExecute: जब ASP.NET पेज ढांचा एक ईवेंट हैंडलर को क्रियान्वित करने समाप्त हो गया है निकाल दिया।

Applcation_PreSendRequestHeaders: एएसपी.NET पृष्ठ ढांचे से पहले निकाल दिया गया HTTP हेडर को अनुरोध करने वाले क्लाइंट (ब्राउज़र) को भेजता है।

एप्लिकेशन_PreSendContent: एएसपी.NET पृष्ठ ढांचे से पहले निकाल दिया गया अनुरोधकर्ता क्लाइंट (ब्राउज़र) को सामग्री भेजता है।

एप्लिकेशन_एक्वायररवेस्टस्टेट: जब एएसपी.NET पृष्ठ ढांचे को वर्तमान अनुरोध से संबंधित वर्तमान स्थिति (सत्र स्थिति) प्राप्त होता है तो निकाल दिया जाता है।

एप्लिकेशन_रियलाइक्वेस्टस्टेट: जब एएसपी.नेट पृष्ठ ढांचा सभी ईवेंट हैंडलर के निष्पादन को पूरा करता है तो निकाल दिया जाता है। इसका परिणाम उनके वर्तमान राज्य डेटा को बचाने के लिए सभी राज्य मॉड्यूल में होता है।

एप्लिकेशन_रोलॉल्व रिवेस्ट कैश: जब एएसपी.नेट पृष्ठ ढांचा प्राधिकरण अनुरोध पूरा करता है तो निकाल दिया जाता है। यह कैशिंग मॉड्यूल को कैश से अनुरोध करने की अनुमति देता है, इस प्रकार हैंडलर निष्पादन को छोड़कर।

Application_UpdateRequestCache: निकाल दिया जब ASP.NET पेज ढांचे हैंडलर निष्पादन पूरा करता है कैशिंग मॉड्यूल जवाबों को संग्रहीत करने की अनुमति देने के बाद अनुरोधों को हैंडल करने के लिए इस्तेमाल किया जाना है।

आवेदन_ प्रमाणीकरण अनुरोध: जब सुरक्षा मॉड्यूल ने वर्तमान उपयोगकर्ता की पहचान को वैध के रूप में स्थापित किया है तो निकाल दिया गया है। इस बिंदु पर, उपयोगकर्ता के प्रमाण पत्र मान्य कर दिए गए हैं।

एप्लिकेशन_अधिकृत अनुरोध: सुरक्षा मॉड्यूल ने सत्यापित किया है कि कोई उपयोगकर्ता संसाधनों तक पहुंच सकता है।

सत्र_स्टार्ट: जब कोई नया उपयोगकर्ता एप्लिकेशन वेबसाइट पर जाता है तो निकाल दिया जाता है।

सत्र_एंड: जब उपयोगकर्ता का सत्र समाप्त होता है, समाप्त होता है, या वे एप्लिकेशन वेबसाइट छोड़ देते हैं तो निकाल दिया जाता है।

0

किसी वेब एप्लिकेशन की मूल निर्देशिका का एक विशेष महत्व है और उस फ़ोल्डर में कुछ सामग्री मौजूद हो सकती है। इसमें "ग्लोबल.एक्सएक्स" नामक एक विशेष फ़ाइल हो सकती है। एएसपी.Net फ्रेमवर्क global.asax में सामग्री का उपयोग करता है और रनटाइम पर कक्षा बनाता है जो एचटीपी अनुप्रयोग से विरासत में मिलता है। किसी एप्लिकेशन के जीवनकाल के दौरान, एएसपी.नेट ने ग्लोबल.एक्सएक्स के एक पूल को एचटीपी अनुप्रयोग उदाहरण व्युत्पन्न किया है। जब किसी एप्लिकेशन को http अनुरोध प्राप्त होता है, तो एएसपी.Net पृष्ठ ढांचा अनुरोध को संसाधित करने के लिए इन उदाहरणों में से एक को असाइन करता है। यह उदाहरण पूरे अनुरोध के पूरे जीवनकाल को प्रबंधित करने के लिए ज़िम्मेदार है और उदाहरण को पूल में वापस आने पर अनुरोध पूरा होने के बाद ही पुन: उपयोग किया जा सकता है। Global.asax में इंस्टेंस सदस्यों का उपयोग अनुरोधों पर डेटा साझा करने के लिए नहीं किया जा सकता है लेकिन स्थैतिक सदस्य हो सकते हैं। Global.asax में HttpAplication ऑब्जेक्ट के ईवेंट हैंडलर और कुछ अन्य महत्वपूर्ण विधियां हो सकती हैं जो वेब अनुप्रयोग में विभिन्न बिंदुओं पर निष्पादित होंगी