मैं सी # में एक थ्रेड का उपयोग कर रहा हूं जहां मैंने IsBackground प्रॉपर्टी को सत्य पर सेट किया है। जब तक एप्लिकेशन बंद नहीं हो जाता तब तक थ्रेड लूप में कुछ कोड चला रहा है। जब एप्लिकेशन बंद हो जाता है तो धागा निष्पादन बंद कर देता है (क्योंकि मैंने IsBackground = true सेट किया है)।क्या मैं पता लगा सकता हूं कि आवेदन बंद होने पर एप्लिकेशन द्वारा पृष्ठभूमि थ्रेड की हत्या कब की जाती है?
एप्लिकेशन थ्रेड को कैसे मारता है? ऐसा लगता है कि यह गर्भपात कहकर ऐसा नहीं करता है क्योंकि मुझे थ्रेडएबॉर्ट अपवाद नहीं मिलता है। क्या यह दृश्यों के पीछे होता है? मैं लूप के आखिरकार ब्लॉक में कुछ रोलबैक करना चाहता हूं।
मुझे पता है कि मैं सिर्फ खुद को थ्रेड पर रोक सकता हूं, लेकिन मैं जानना चाहता हूं कि एप्लिकेशन मेरे पृष्ठभूमि धागे को कैसे बंद कर देता है और यदि मैं धागे के अंदर से प्रतिक्रिया कर सकता हूं। मुझे पता है कि मैं एप्लिकेशन की सदस्यता ले सकता हूं। एप्लिकेशंस एक्सिट इवेंट, लेकिन मैं इस कोड को एक सेवा और एक विनफॉर्म दोनों में चला रहा हूं और मैं लूप के अंदर एक अपवाद पकड़ना पसंद करूंगा ताकि मैं अंत में कथन में रोलबैक कर सकूं।
आप इसे अग्रभूमि धागा बना सकते हैं और 'ग्लोबल' एप्लिकेशन शटडाउन परिदृश्य बना सकते हैं जो मैन्युअल रूप से थ्रेड को बंद कर देता है। – CodingBarfield
क्या आपने [AppDomain.ProcessExit] (http://msdn.microsoft.com/en-us/library/system.appdomain.processexit.aspx) ईवेंट देखा है? – Botz3000
तो आप दोनों कह रहे हैं कि यह दृश्यों के पीछे होता है और मैं इस तरह के कस्टम समाधान बनाने के अलावा अन्य पर प्रतिक्रिया नहीं दे सकता? –