Asp.net में global.asax का उद्देश्य क्या है


जवाबों:


119

MSDN के पास Global.asax फ़ाइल के उद्देश्य की रूपरेखा है।

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

आप Visual Studio में Add> New Item> Global Application Class को चुनकर इसका उपयोग कर सकते हैं। एक बार फ़ाइल जोड़ने के बाद, आप सूचीबद्ध की गई किसी भी घटना के तहत कोड जोड़ सकते हैं (और डिफ़ॉल्ट रूप से, कम से कम विज़ुअल स्टूडियो 2008 में)

  • Application_Start
  • Application_End
  • session_start
  • Session_End
  • Application_BeginRequest
  • Application_AuthenticateRequest
  • अनुप्रयोग त्रुटि

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


2
Global.asax के लिए प्रवेश को विकिपीडिया से हटा दिया गया है।
कैथी सुलिवन

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

@ जीवराज, नहीं। Global.asax की सामग्री (आमतौर पर) ऐसी घटनाएं हैं जो IIS / ASP.net एप्लिकेशन जीवनचक्र द्वारा ट्रिगर की जाती हैं ताकि WinForms एप्लिकेशन में कोड को ट्रिगर करने के लिए कुछ भी न हो।
रोब

मुझे आश्चर्य है कि क्यों उनके पास HttpApplication वर्ग से विरासत में मिला कोड नहीं हो सकता है और न ही ऐक्सैक्स फ़ाइल की आवश्यकता होती है। Global.asax.cs में सभी चीजें सम्‍मिलित हैं, इसलिए एक विशिष्‍ट एक्‍सैक्स फ़ाइल की आवश्‍यकता है जिसमें केवल यह <% @ एप्लिकेशन कोडबिहिंड = "Global.asax.cs" इनहेरिट्स = "XXXXX" भाषा = "C #"%
सरल हो फेलो

67

वैश्विक असैक्स घटनाओं की व्याख्या की

Application_Init: जब कोई एप्लिकेशन इनिशियलाइज़ करता है या पहली बार कॉल किया जाता है तो निकाल दिया जाता है। यह सभी HttpApplication ऑब्जेक्ट इंस्टेंस के लिए इनवॉइस किया गया है।

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

Application_Error: जब एक अनकही अपवाद अनुप्रयोग के भीतर सामना किया जाता है, तो निकाल दिया गया।

Application_Start: HttpApplication वर्ग का पहला उदाहरण निर्मित होने पर निकाल दिया गया। यह आपको उन वस्तुओं को बनाने की अनुमति देता है जो सभी HttpApplication इंस्टेंस द्वारा सुलभ हैं।

Application_End: HttpApplication वर्ग का अंतिम उदाहरण नष्ट होने पर निकाल दिया गया। यह एक आवेदन के जीवनकाल के दौरान केवल एक बार निकाल दिया जाता है।

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

Application_EndRequest: एप्लिकेशन अनुरोध के लिए अंतिम ईवेंट को निकाल दिया गया।

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

Application_PostRequestHandlerExecute: जब ASP.NET पृष्ठ की रूपरेखा समाप्त हो जाती है, तो एक इवेंट हैंडलर निष्पादित होता है।

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

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

Application_AcquireRequestState: ASP.NET पृष्ठ के ढांचे को वर्तमान अनुरोध से संबंधित वर्तमान स्थिति (सत्र स्थिति) मिलने पर निकाल दिया गया।

Application_ReleaseRequestState: ASP.NET पृष्ठ की रूपरेखा सभी ईवेंट हैंडलर के निष्पादन को पूरा करने पर निकाल दिया गया। इससे सभी राज्य मॉड्यूल अपने वर्तमान स्थिति डेटा को सहेजते हैं।

Application_ResolveRequestCache: ASP.NET पृष्ठ की रूपरेखा एक प्राधिकरण अनुरोध को पूरा करने पर निकाल दिया गया। यह कैशिंग मॉड्यूल को कैश से अनुरोध की सेवा करने की अनुमति देता है, इस प्रकार हैंडलर निष्पादन को दरकिनार कर देता है।

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

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

Application_AuthorizeRequest: जब सुरक्षा मॉड्यूल ने सत्यापित किया है कि उपयोगकर्ता संसाधनों तक पहुंच सकता है, तब फायर किया गया।

Session_Start: नया उपयोगकर्ता अनुप्रयोग वेब साइट पर जाने पर निकाल दिया गया।

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


11

Global.asax फ़ाइल, जिसे ASP.NET अनुप्रयोग फ़ाइल के रूप में भी जाना जाता है, एक वैकल्पिक फ़ाइल है जिसमें ASP.NET या HTTP मॉड्यूल द्वारा जुटाए गए एप्लिकेशन-स्तर और सत्र-स्तरीय घटनाओं के जवाब के लिए कोड होता है।

http://msdn.microsoft.com/en-us/library/2027ewzw.aspx


6

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

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

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


3

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


1

Global.asax का उपयोग एप्लिकेशन से उत्पन्न होने वाली घटनाओं को संभालने के लिए किया जा सकता है। यह लिंक एक अच्छी व्याख्या प्रदान करता है: http://aspalliance.com/1114

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.