सी # में घटनाओं से सदस्यता समाप्त नहीं करना कितना गंभीर हो सकता है? क्या यह अनिवार्य या सलाह देने योग्य कार्रवाई है?क्या घटनाओं से सदस्यता समाप्त करना आवश्यक है?
उत्तर
यह है कि आप विचार
में रखना चाहिए से अपने ईवेंट हैंडलर को रोकने के लिए MSDN documentation से महत्वपूर्ण हिस्सा जब घटना उठाया है लागू किया जा रहा है, बस घटना से सदस्यता समाप्त। संसाधन लीक को रोकने के लिए, ग्राहक ऑब्जेक्ट का निपटान करने से पहले ईवेंट से सदस्यता रद्द करना महत्वपूर्ण है। जब तक आप एक घटना से सदस्यता समाप्त , बहुस्त्र्पीय प्रतिनिधि है कि प्रकाशन वस्तु में घटना के पीछे भी प्रतिनिधि के लिए एक संदर्भ कि समाहित ग्राहक के घटना हैंडलर है। जब तक प्रकाशन ऑब्जेक्ट उस संदर्भ को धारण करता है, तो आपके ग्राहक ऑब्जेक्ट कचरा नहीं होगा एकत्रित किया जाएगा।
यह निर्भर करता है कि ग्राहक और प्रकाशक कितने समय तक रहते हैं। यहां समस्या के बारे में गहराई से आलेख है और इसे हल करने के तरीके पर कई दृष्टिकोण यहां दिए गए हैं: Solving the Problem with Events: Weak Event Handlers
ईवेंट से सदस्यता समाप्त करना महत्वपूर्ण है। यदि आप नहीं करते हैं, तो ग्राहक कचरा नहीं हो सकता है - संक्षेप में - एक स्मृति रिसाव।
http://developers.slashdot.org/article.pl?sid=07/11/17/0552247
इसके अलावा, यह प्रदर्शन समस्याओं को जन्म दे सकता है के रूप में ईवेंट हैंडलर भले ही यह नहीं कर रहा है के नाम से जाना जारी रहेगा: यहां आप सदस्यता समाप्त नहीं है में पड़ सकते हैं समस्याओं का एक अच्छा उदाहरण है अब आपके लिए कुछ भी उपयोगी है।
दूसरी तरफ, यदि आप प्रोग्राम के निष्पादन को समाप्त कर रहे हैं, तो घटनाओं से सदस्यता समाप्त करने का कोई कारण नहीं है। यह निश्चित रूप से अनिवार्य नहीं है, और मुझे इसकी अनुशंसा करने का कोई कारण नहीं दिख रहा है।
- 1. आरएक्स - घटनाओं से सदस्यता रद्द करना
- 2. क्या मुझे घटनाओं से सदस्यता छोड़नी चाहिए?
- 3. क्या मुझे asp.net में ईवेंट (मैन्युअल रूप से सदस्यता) से सदस्यता समाप्त करने की आवश्यकता है?
- 4. क्या डेटाबेस को बंद करना आवश्यक है?
- 5. स्वत: समाप्त अनाथ सदस्यता (Azure ServiceBus मैसेजिंग सदस्यता क्लाइंट)
- 6. घटनाओं को क्रमबद्ध करना
- 7. घटनाओं को बुलबुला करना।
- 8. क्या मेरी कक्षा अपनी सार्वजनिक घटनाओं की सदस्यता लेनी चाहिए?
- 9. क्या मुझे स्थानीय चर के अज्ञात ईवेंट हैंडलर से सदस्यता समाप्त करनी है?
- 10. क्या विभिन्न वर्गों से चालकों को स्थानांतरित करना आवश्यक है?
- 11. किस मामले में आवश्यक घटनाओं से अलग हो रहे हैं?
- 12. क्या मुझे अनाथाश्रम से पहले ऑब्जेक्ट्स से इवेंट सदस्यता हटाने की आवश्यकता है?
- 13. बटन ब्राउज़ करना आवश्यक है?
- 14. 'यहां से आवश्यक' त्रुटि क्या है
- 15. क्या मुख्य.cpp आवश्यक है?
- 16. क्या KillTimer आवश्यक है?
- 17. क्या अस्थिरता आवश्यक है?
- 18. सी # में अन्य वर्ग की घटनाओं की सदस्यता कैसे लें?
- 19. क्या AssemblyInfo.cpp आवश्यक है?
- 20. घटनाओं के लिए सदस्यता लेने के लिए सी ++/सीएलआई वाक्यविन्यास क्या है?
- 21. क्या इंटेलिट्रेस घटनाओं को विस्तारित करना संभव है?
- 22. Magento - न्यूज़लेटर सदस्यता लेने और सदस्यता समाप्त करने के लिए कोई ईवेंट
- 23. क्या सी # में ईवेंट सदस्यता की सदस्यता लेना संभव है?
- 24. सदस्यता समाप्त लैम्ब्डा इवेंट हैंडलर ** बंद के साथ **
- 25. क्या कचरा कलेक्टर स्पष्ट वस्तुओं को घटनाओं की सदस्यता लेता है?
- 26. सदस्यता
- 27. क्या khtml उपसर्ग आवश्यक है?
- 28. क्या InitCommonControlsEx() और InitCommonControls() का उपयोग करना आवश्यक है?
- 29. क्या .NET SerialPort लिखना/पढ़ना सिंक्रनाइज़ करना आवश्यक है?
- 30. HttpURLConnection: कनेक्ट() को कॉल करना आवश्यक है?