का उपयोग करते समय ThreadAbortException का कारण क्या हो सकता है मैं इस स्थिति के कारण दुःस्वप्न में रह रहा हूं, मेरे पास एक HttpWebRequest.GetResponse है जो मुझे थ्रेडएबॉर्ट अपवाद देता है, जिससे पूरे ऐप को नीचे जाना पड़ता है।HttpWebRequest.GetResponse()
मैं इससे कैसे बच सकता हूं, या कम से कम इसे संभालने के लिए, थ्रेड.ResetAbort() का उपयोग ऐसे मामले में उपयोगी होगा?
यहाँ और अधिक व्याख्या करने के लिए एक मोटा कोड नमूना है:
HttpWebRequest req = (HttpWebRequest)WebRequest.Create("http://someurl.com/");
HttpWebResponse resp = req.GetResponse();
अब अंतिम पंक्ति ऊपर ThreadAbortException फेंकता है, यह हो सकता है क्योंकि अनुरोध का समय समाप्त जो ठीक है, लेकिन मैं पाने के लिए नहीं करना चाहते हो सकता है मेरे ASP.NET 2.0 ऐप के अंदर एक थ्रेडअबोर्ट अपवाद क्योंकि यह इसे मारता है। ThreadAborException को कोशिश/पकड़ने के साथ पकड़ा नहीं जा सकता है, इसे संभालने का एकमात्र तरीका थ्रेड का उपयोग कर रहा है। रीसेट एबॉर्ट() जिसका अपना बुरा प्रभाव भी है, यह थ्रेड को जीवित रखेगा और भगवान केवल कितने समय तक जानता है।
सिस्टम को पकड़ने का प्रयास करें। दूसरी पंक्ति पर अपवाद और देखें कि किस प्रकार का पूर्व फेंक दिया गया है। – StingyJack
आप * थ्रेडएबॉर्ट अपवाद को पकड़ सकते हैं, आपको बस इसे सही तरीके से संभालना होगा। ResetAbort() जब आप पूरा कर लें तो करना उचित बात है। अधिक के लिए http://msdn.microsoft.com/en-us/library/system.threading.threadabortexception.aspx देखें। –