asp.net - Disposing an Object after a (possibly redirected) request -


मेरे पास एक CustomRequestContext ऑब्जेक्ट है जिसे प्रत्येक अनुरोध के बाद निपटाना होगा। मैं इसे Page_Load में बनाऊँ और इसे Page_Unload में निपटारा। केवल एक मुद्दा यह है कि कुछ खास परिस्थितियों में मुझे Server.Transfer पर कॉल करने की आवश्यकता है, इसके बजाय दूसरे aspx पेज पर रीडायरेक्ट करें इस स्थिति में, जब तक नया पृष्ठ उतारने के लिए तैयार नहीं हो, तब तक ऑब्जेक्ट को लोड नहीं किया जाना चाहिए। यह प्राप्त करने का सबसे अच्छा तरीका क्या है?

अपने सभी asp.net पृष्ठों के लिए एक कस्टम पेजबेस वर्ग बनाएं जैसा कि नीचे उल्लिखित है और Page_Load और Page_Unload ईवेंट पर कस्टमरक्वेंस कॉन्टेस्ट को डिस्पोज़ करें।

  /// & lt; सारांश & gt; /// फ्रंट एंड वेब पेजों का आधार /// & lt; / सारांश & gt; सार्वजनिक कक्षा पृष्ठबेस: सिस्टम। वेब। यूआई पृष्ठ {/// & lt; सारांश & gt; /// पेज क्लास का एक नया उदाहरण प्रारंभ करता है /// & lt; / सारांश & gt; सार्वजनिक पृष्ठ () {this.Load + = नए इवेंटहैंडलर (this.Page_Load); This.UnLoad + = नए इवेंटहैंडलर (this.Page_UnLoad); } /// & lt; सारांश & gt; /// पृष्ठ लोड करें /// & lt; / सारांश & gt; /// & lt; परम नाम = "प्रेषक" & gt; प्रेषक वस्तु के रूप में & lt; / param & gt; /// & lt; परम नाम = "ई" & gt; ईवेंट तर्क & lt; / param & gt; निजी शून्य Page_Load (ऑब्जेक्ट प्रेषक, इवेंटएआरजीएस ई) {try {/} ऑब्जेक्ट को यहाँ निकालना, यह मानते हुए कि यह IDisposable है // आप यहां अपना स्वयं का डिस्पोज़शन चरण लागू कर सकते हैं। CustomRequestContext.Dispose (); } पकड़ {// स्थिति को सुन्दर ढंग से संभाल दें I }} /// & lt; सारांश & gt; /// पृष्ठ अनलोड /// & lt; / सारांश & gt; /// & lt; परम नाम = "प्रेषक" & gt; प्रेषक वस्तु के रूप में & lt; / param & gt; /// & lt; परम नाम = "ई" & gt; ईवेंट तर्क & lt; / param & gt; निजी शून्य Page_UnLoad (ऑब्जेक्ट प्रेषक, EventArgs ई) {try {// ऑब्जेक्ट यहाँ निकालना, यह मानना ​​है कि यह IDisposable है // आप यहां अपना स्वयं का डिस्पोज़शन चरण लागू कर सकते हैं। CustomRequestContext.Dispose (); } पकड़ {// स्थिति को सुन्दर ढंग से संभाल दें I }}}  
पर क्लिक करें

Comments