में आज मैं एक अजीब समस्या में भाग गया: एक वर्ष और आवेदन के कई संस्करण/परीक्षणों के बाद से फ़ाइल को प्रतिस्थापित करने के लिए निम्नलिखित कोड का सफलतापूर्वक उपयोग किया गया है दूसरे के साथ।फ़ाइल #Replace और (File.Delete + File.Move) के बीच अंतर C#
File.Replace(path + ".tmp", path, null);
यह UNC पथ (नेटवर्क शेयर) के साथ स्थानीय स्तर पर और भी काम किया है। लेकिन आज मैं निम्न त्रुटि हो गया, जब मैं (स्थानीय अभी भी काम करता है) एक यूएनसी पथ पर एक फ़ाइल को बदलने के लिए इस कोड का इस्तेमाल किया:
प्रक्रिया फ़ाइल तक नहीं पहुँच सकता है क्योंकि यह अन्य प्रक्रिया द्वारा किया जा रहा है
जब मैं निम्नलिखित कोड का उपयोग करें ऊपर की, यह काम करता है:
File.Delete(path);
File.Move(path + ".tmp", path);
तो मेरे सवालों का:
- दो कोड स्निपेट के बीच क्या अंतर है?
- क्या यह हो सकता है कि माइक्रोसॉफ्ट ने 'फाइल.रिप्लेस' के तरीके को बदल दिया है?
मैं नेट फ्रेमवर्क 4.0 का उपयोग कर रहा हूँ दृश्य स्टूडियो के साथ 2010
धन्यवाद अग्रिम में।
आपके पास सर्वर पर चल रहे इन उबर-उत्सुक 'सुरक्षा उपकरण' में से एक नहीं है, जो 'पहुंच सुरक्षा' या कुछ में गड़बड़ कर रहा है, है ना? क्या यह हर सर्वर के साथ होता है? क्या यह एक विशिष्ट तारीख पर काम करना बंद कर दिया और उस समय सर्वर पर क्या हुआ? आपके उत्तर के लिए –
thx: हमारे पास विशेष "über" सुरक्षा उपकरण नहीं है और कुछ समय से बुनियादी ढांचे को नहीं बदला है। समस्या अन्य नेटवर्कों में अन्य मशीनों पर भी दिखाई देती है। मुझे तारीख बिल्कुल नहीं पता लेकिन मैं फरवरी 2011 से पहले कहूंगा कि यह काम कर चुका है ... – dataCore
'फाइल। रीप्लेस' मांग स्रोत और गंतव्य दोनों पर अनुमति पढ़ने और लिखने की मांग करता है, फिर पी/'रीप्लेसफाइल' को आमंत्रित करता है। सुराग के लिए 'ReplaceFile' पर दस्तावेज़ देखें। http://msdn.microsoft.com/en-us/library/aa365512.aspx – Tergiver