2010-02-02 12 views
6

मैं फ़ाइल से कॉपी (स्रोत, dest, true) का उपयोग कर रहा हूं ताकि फ़ाइल को ओवरराइट विकल्प के साथ स्थानीय से दूरस्थ में कॉपी किया जा सके। मेरे मामले में, गंतव्य एक मैप की गई नेटवर्क ड्राइव है:फ़ाइल.कॉपी() सिंक या एएससीएनएन?

File.Copy(source, dest, true); 
UnMapDrive(); // unmap the network drive 

समस्या मैं बाद में उपलब्ध है, ताकि मैं स्थानीय से फ़ाइल को नष्ट नहीं कर सकता है स्रोत फ़ाइल बंद हो सकता है।

मुझे लगता है कि यह File.Copy() कॉल के कारण हो सकता है। सुनिश्चित नहीं है कि यह एक सिंक की गई प्रक्रिया है या नहीं। दूसरे शब्दों में, कॉल के बाद जारी की गई स्रोत फ़ाइल है?

उत्तर

3

हां, इसे जारी किया गया है और फ़ाइल.कॉपी विधि निष्पादन को अवरुद्ध करती है जब तक प्रतिलिपि पूर्ण नहीं होती है।

फ़ाइल पढ़ने के लिए उपलब्ध हो सकती है लेकिन हटाने के लिए बंद कर दिया जा सकता है।

Process Monitor के साथ जांचें कि कौन सी प्रक्रिया स्रोत फ़ाइल को लॉक कर रही है।

+0

आप सही हैं। मुझे अपने कोड (अन्य स्थानों) में एक और बग मिला और इस मुद्दे का कारण बनने का कारण है। File.Copy() फ़ाइलों को रिलीज़ करने के लिए ठीक है। धन्यवाद! –

संबंधित मुद्दे