asp.net HTTP मॉड्यूल इवेंट निष्पादन आदेश?




httpmodule httpapplication (4)

Httpmodule की PreSendRequestContent घटना में कैशिंग के लिए विधि कॉल करना चाहते हैं। समस्या यह है कि मेरे आवेदन में ग्राहकों की आवश्यकता के अनुसार वेब हेडर और पाद लेख जोड़ा गया है और मैं उस सामग्री छवियों, जावास्क्रिप्ट और सीएसएस को कैश नहीं कर सका। वर्तमान में httpmodule की रिलीज RequestState विधि का उपयोग कर रहा हूँ।

क्या किसी को साइट या पेज के बारे में पता है, या HTTP मॉड्यूल इवेंट निष्पादन के लिए HTTP अनुप्रयोग वर्ग की घटनाओं के निष्पादन के आदेश को जानते हैं?

मुझे सभी घटनाओं के लिए एमएसडीएन दस्तावेज़ीकरण मिला, लेकिन यह प्रक्रिया चरणों की एक सूची नहीं दिखाता है और मैं एक खोजने में सक्षम नहीं हूं।


शायद यह मदद करता है

http://support.microsoft.com/kb/307985/en-us/

एक एचटीपी एप्लीकेशन क्लास कई घटनाएं प्रदान करता है जिनके साथ मॉड्यूल सिंक्रनाइज़ कर सकते हैं। प्रत्येक अनुरोध पर सिंक्रनाइज़ करने के लिए मॉड्यूल के लिए निम्न इवेंट उपलब्ध हैं। ये घटनाएं अनुक्रमिक क्रम में सूचीबद्ध हैं:

  1. BeginRequest
  2. AuthenticateRequest
  3. AuthorizeRequest
  4. ResolveRequestCache
  5. AcquireRequestState
  6. PreRequestHandlerExecute
  7. PostRequestHandlerExecute
  8. ReleaseRequestState
  9. UpdateRequestCache
  10. EndRequest

प्रत्येक अनुरोध संचरण के लिए सिंक्रनाइज़ करने के लिए मॉड्यूल के लिए निम्न इवेंट उपलब्ध हैं। इन घटनाओं का क्रम गैर-निर्धारक है।

  • PreSendRequestHeaders
  • PreSendRequestContent
  • त्रुटि

पूरी जानकारी के लिए आलेख देखें।


BeginRequest

अनुरोध शुरू कर दिया गया है। यदि आपको किसी अनुरोध की शुरुआत में कुछ करने की आवश्यकता है (उदाहरण के लिए, प्रत्येक पृष्ठ के शीर्ष पर विज्ञापन विज्ञापन बैनर या कुछ परिवर्तनीय प्रारंभिकरण)।

AuthenticateRequest

यदि आप अपनी खुद की कस्टम प्रमाणीकरण योजना में प्लग करना चाहते हैं (उदाहरण के लिए, HTTP अनुरोध में पासवर्ड सत्यापित करने या शीर्षलेख जानकारी की जांच करने के लिए डेटाबेस के विरुद्ध उपयोगकर्ता को देखें)।

AuthorizeRequest

यह घटना प्राधिकरण तंत्र को लागू करने के लिए आंतरिक रूप से उपयोग की जाती है (उदाहरण के लिए, फ़ाइल सिस्टम की बजाय डेटाबेस में अपनी एक्सेस कंट्रोल सूचियां (एसीएल) स्टोर करने के लिए)।

ResolveRequestCache

यह घटना निर्धारित करती है कि आउटपुट कैश से कोई पृष्ठ परोसा जा सकता है या नहीं। यदि आप अपना खुद का कैशिंग मॉड्यूल लिखना चाहते हैं (उदाहरण के लिए, मेमोरी कैश की बजाय फ़ाइल-आधारित कैश बनाएं) तो इस घटना को सिंक्रनाइज़ करें कि यह निर्धारित करने के लिए कि कैश से पृष्ठ की सेवा करना है या एक नया पेज जेनरेट किया जाएगा।

AcquireRequestState

सत्र राज्य राज्य स्टोर से पुनर्प्राप्त किया जाता है। यदि आप अपना खुद का राज्य प्रबंधन मॉड्यूल बनाना चाहते हैं तो इस स्थिति को अपने राज्य स्टोर से सत्र स्थिति को पकड़ने के लिए सिंक्रनाइज़ करें।

PreRequestHandlerExecute

यह ईवेंट HTTP हैंडलर निष्पादित होने से पहले होता है।

PostRequestHandlerExecute

यह ईवेंट HTTP हैंडलर निष्पादित होने के बाद होता है।

ReleaseRequestState

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

UpdateRequestCache

यह घटना आउटपुट कैश पर वापस आउटपुट लिखती है।

EndRequest

अनुरोध पूरा हो गया है।


एमएसडीएन पुस्तकालय दस्तावेज:

ASP.NET 4.0 के लिए अनुरोध पाइपलाइन में ईवेंट (बोल्ड में) और अन्य चरण यहां दिए गए हैं:

  1. अनुरोध को मान्य करें, जो ब्राउज़र द्वारा भेजी गई जानकारी की जांच करता है और यह निर्धारित करता है कि इसमें संभावित रूप से दुर्भावनापूर्ण मार्कअप है या नहीं।
  2. URL मैपिंग करें, यदि कोई URL Web.config फ़ाइल के UrlMappingsSection अनुभाग में कॉन्फ़िगर किया गया है।
  3. BeginRequest घटना उठाओ।
  4. AuthenticateRequest घटना बढ़ाएं।
  5. PostAuthenticateRequest घटना को बढ़ाएं।
  6. AuthorizeRequest घटना उठाएं।
  7. PostAuthorizeRequest ईवेंट बढ़ाएं।
  8. ResolveRequestCache घटना उठाएं।
  9. PostResolveRequestCache घटना बढ़ाएं।
  10. [आईआईएस 5.0 / 6.0] अनुरोधित संसाधन के फ़ाइल नाम एक्सटेंशन (एप्लिकेशन की कॉन्फ़िगरेशन फ़ाइल में मैप किए गए ) के आधार पर, उस वर्ग का चयन करें जो अनुरोध को संसाधित करने के लिए IHttpHandler लागू करता है। यदि अनुरोध पृष्ठ वर्ग से प्राप्त ऑब्जेक्ट (पृष्ठ) के लिए है और पृष्ठ को संकलित करने की आवश्यकता है, तो एएसपी.नेट इसका उदाहरण बनाने से पहले पृष्ठ को संकलित करता है। [आईआईएस 7.0] MapRequestHandler घटना उठाओ। अनुरोधित संसाधन के फ़ाइल नाम एक्सटेंशन के आधार पर एक उपयुक्त हैंडलर चुना जाता है। हैंडलर देशी कोड कोड जैसे आईआईएस 7.0 स्टेटिकफाइल मॉड्यूल या एक प्रबंधित-कोड मॉड्यूल जैसे पेजहैंडलर फैक्ट्री क्लास (जो .aspx फ़ाइलों को संभालता है) हो सकता है।
  11. PostMapRequestHandler घटना को बढ़ाएं।
  12. AcquireRequestState घटना को बढ़ाएं।
  13. PostAququireRequestState घटना को बढ़ाएं।
  14. PreRequestHandlerExecute घटना को बढ़ाएं।
  15. अनुरोध के लिए उपयुक्त IHttpHandler कक्षा के ProcessRequest विधि (या एसिंक्रोनस संस्करण IHttpAsyncHandler.BeginProcessRequest) को कॉल करें। उदाहरण के लिए, यदि अनुरोध किसी पृष्ठ के लिए है, तो वर्तमान पृष्ठ उदाहरण अनुरोध को संभालता है।
  16. PostRequestHandlerExecute ईवेंट उठाएं।
  17. रिलीज RequestState घटना उठाओ।
  18. PostReleaseRequestState ईवेंट बढ़ाएं।
  19. फ़िल्टर गुण परिभाषित होने पर प्रतिक्रिया फ़िल्टरिंग करें।
  20. UpdateRequestCache ईवेंट बढ़ाएं।
  21. PostUpdateRequestCache ईवेंट बढ़ाएं।
  22. [आईआईएस 7.0] LogRequest घटना उठाओ।
  23. [आईआईएस 7.0] PostLogRequest घटना उठाओ।
  24. EndRequest घटना उठाओ।
  25. PreSendRequestHeaders घटना बढ़ाएं।
  26. PreSendRequestContent घटना बढ़ाएं।

नोट: MapRequestHandler, LogRequest, और PostLogRequest ईवेंट केवल तभी समर्थित होते हैं जब एप्लिकेशन आईआईएस 7.0 में एकीकृत मोड में और .NET Framework 3.0 या बाद में चल रहा हो।





httpapplication