मैंने कुछ COM लाइब्रेरी में विजुअल स्टूडियो प्रोजेक्ट में एक संदर्भ जोड़ा। अब जब मैं किसी विधि में बना और ऑब्जेक्ट करता हूं, तो क्या यह COM ऑब्जेक्ट स्वचालित रूप से रिलीज़ होगा जब प्रोग्राम उस विधि को छोड़ देता है? या मुझे हमेशा इन वस्तुओं को मैन्युअल रूप से जारी करना चाहिए? (रिलीजकॉम ऑब्जेक्ट या फाइनल रिलीज कॉम ऑब्जेक्ट?)।COM ऑब्जेक्ट्स को जारी करना
उत्तर
यह निश्चित रूप से स्वचालित रूप से नहीं किया है, और कुछ मामलों में यह as described in this blog post (Marshal.ReleaseComObject
फोन करके) ऐसा करने के लिए खतरनाक हो सकता है।
इन-प्रो COM ऑब्जेक्ट्स के लिए, अक्सर COM ऑब्जेक्ट्स को रिलीज़ करने की आवश्यकता नहीं होती है।
आउट-प्रो COM ऑब्जेक्ट्स के लिए, Office apps failing to shut down after automation from a .NET client जैसी समस्याओं को रोकने के लिए उन्हें जारी करना महत्वपूर्ण हो सकता है।
इस मामले में, मैं ऊपर लिंक ब्लॉग पोस्ट में सलाह का पालन करें:
आप एक दायरे वाला, एकल पिरोया ढंग से एक COM वस्तु का उपयोग कर रहे हैं तो आप सुरक्षित रूप से उस पर ReleaseComObject कॉल कर सकते हैं ऑब्जेक्ट जब आप इसके साथ कर रहे हैं।
लेकिन [यहां] अगर आप अपने आवेदन में कई स्थानों या एक से अधिक थ्रेड से एक COM वस्तु का उपयोग कर रहे हैं (या एक ही प्रक्रिया में अन्य अनुप्रयोगों से), तो आपको नहीं बुलाना चाहिए ReleaseComObject
आप Marshal.ReleaseComObject उपयोग कर सकते हैं: http://msdn.microsoft.com/de-de/library/system.runtime.interopservices.marshal.releasecomobject.aspx
- 1. COM ऑब्जेक्ट्स पर जासूसी
- 2. जारी करना?
- 3. एक्सकोडिव-सी एआरसी का उपयोग करते समय ऑब्जेक्ट्स को जारी करने से ऑब्जेक्ट्स को कैसे जारी किया जा सकता है?
- 4. .NET रनटाइम COM COM ऑब्जेक्ट्स के लिए संदर्भ गणना> 1 कब रखता है?
- 5. फ़ंक्शन ऑब्जेक्ट्स को क्रमबद्ध करना
- 6. जारी करना/Fabric.js
- 7. जारी करना सम्मिलित
- 8. जारी करना, 'लंबाई'
- 9. ग्राहक को आंशिक स्रोत कोड जारी करना
- 10. कोर फाउंडेशन ऑब्जेक्ट रेफरेंस जारी करना
- 11. मेट्रो स्टाइल ऐप्स में COM ऑब्जेक्ट्स का उपयोग
- 12. COM
- 13. हमें क्यों जारी करना चाहिए?
- 14. WCF IList क्रमबद्धता जारी करना
- 15. सी # .Net4: उचित रूप से निपटान (गतिशील) COM ऑब्जेक्ट्स
- 16. सी # + COM इंटरऑप, निर्धारिती रिलीज
- 17. जारी करना एक viewbased NSTableView
- 18. वाक्यविन्यास या अर्थशास्त्र जारी करना?
- 19. सेवाओं को विभाजित करना -> व्यवसाय ऑब्जेक्ट्स?
- 20. सूची में प्लॉट ऑब्जेक्ट्स को संग्रहीत करना
- 21. गिट ऑब्जेक्ट्स से फ़ाइलों को पुनर्प्राप्त करना
- 22. एक्सएमएल को जावा ऑब्जेक्ट्स में कनवर्ट करना
- 23. COM
- 24. COM
- 25. रेग फ्री COM - COM संदर्भ को अलग करना - अनुपलब्ध मान '(डिफ़ॉल्ट)'
- 26. COM
- 27. क्या पंजीकरण मुक्त COM के साथ COM दृश्य .NET कक्षाओं का उपयोग करना संभव है?
- 28. बिल्ड सर्वर पर COM संदर्भित DLL को पंजीकृत करना
- 29. कास्टिंग COM इंटरफेस
- 30. जावास्क्रिप्ट ऑब्जेक्ट्स: उन्हें नष्ट करना
इस के बारे में अधिक है (http://stackoverflow.com/questions/1827059/why-use-finalreleasecomobject-instead-of-releasecomobject) – StuartLC
जांच करने के लिए कुछ समय बचाएं, और धैर्य रखें क्योंकि लेख सभी कठिन और उबाऊ हैं, जैसे http: // blogs.msdn.com/b/visualstudio/archive/2010/03/01/marshal-releasecomobject-considered-dangerous.aspx –