अभी, उपयोगकर्ता मेरी अनुप्रयोग से बाहर करना चाहते हैं, मैं तो मैं निम्नलिखित है कुछ चीजें मैं करने के लिए (यानी, सर्वर से डिस्कनेक्ट उपयोगकर्ता डेटा की बचत ...) है और कार्य करें:मैं अपने WinForm एप्लिकेशन से बाहर निकलने के लिए Process.GetCurrentProcess()। Kill() का उपयोग क्यों नहीं करना चाहिए?
- बूलियन
- का उपयोग करके मेरे सभी मेनलोप्स से बाहर निकलें धागे अभी भी चल रहे थ्रेड को रोक दें (आमतौर पर, मेरा सर्वर मतदान थ्रेड)
- कृपया आवेदन करें। एक्साइट();
यह बाहर निकलने के लिए कुछ ही सेकंड लेता है, और कोई वास्तविक उद्देश्य में कार्य करता (सब कुछ पहले से ही सर्वर पर सहेजा जाता है, इसलिए मैं वास्तव में परवाह नहीं है वहाँ क्या होता है)
यदि मैं यह बजाय का उपयोग करें, मैं
System.Diagnostics.Process.GetCurrentProcess().Kill();
क्यों मैं सिर्फ अपनी प्रक्रिया समाप्त नहीं होता और CLR AppDomain छोड़ देना: कोई दोष यह मैं के बारे में सोच सकते हैं के साथ तत्काल समाप्ति मिल गया?
मुझे पता है कि सावधानी से आपके साझा संसाधनों (आईओ फ़ाइल हैंडलर इत्यादि) का निपटान करना महत्वपूर्ण है (इसलिए कृपया इसका उत्तर न दें :)), लेकिन एक बार ऐसा करने के बाद, क्या मेरे ऐप से बाहर निकलने का कोई वास्तविक कारण है?
मुझे लगता है कि किसी भी अंत में ब्लॉक को इस मामले में संसाधित नहीं किया जाएगा, जो भविष्य में अप्रत्याशित बग का कारण बन सकता है जब कोई और कोड बनाए रखता है। –
@ होसम: यह एक अच्छा मुद्दा है। आप इसे उत्तर के रूप में क्यों नहीं पोस्ट करते हैं ताकि इसे ऊपर उठाया जा सके? – Brann
@ ब्रैन: हो गया। सलाह के लिये धन्यवाद। –