2013-02-27 174 views
6

जब मैं किसी नेटवर्क शेयर से फ़ाइल पढ़ता हूं तो यह अंतिम समय के लिए निर्माण समय को अद्यतन करता है। इससे मुझे सिस्टम के साथ समस्याएं आती हैं। कॉन्फ़िगरेशन। कॉन्फ़िगरेशन क्योंकि ऐसा लगता है कि फ़ाइल बदल गई है और इसलिए अपवाद फेंकता है (कॉन्फ़िगरेशन फ़ाइल किसी अन्य प्रोग्राम द्वारा बदल दी गई है।)। कामकाज निर्माण समय को पहले लिखने के समय को मैन्युअल रूप से पहले सेट करना होगा। लेकिन मैं जानना चाहता हूं कि यह एक ज्ञात समस्या है या नहीं।किसी नेटवर्क शेयर से फ़ाइल को पढ़ना इसके निर्माण समय को अपने अंतिम लेखन समय पर सेट करता है

string filePath = @"X:\SomeFile.txt"; 
    FileInfo fileInfo = new FileInfo(filePath); 
    DateTime creationTimeBeforeRead = fileInfo.CreationTimeUtc; 
    FileStream fileStream = new FileStream(filePath, FileMode.Open, FileAccess.Read, FileShare.Read); 
    byte[] result = new byte[fileStream.Length]; 
    fileStream.Read(result, 0, (int)fileStream.Length); 
    fileStream.Close(); 
    fileInfo.Refresh(); 
    DateTime creationTimeAfterRead = fileInfo.CreationTimeUtc; 

मुझे पता नहीं है, तो समस्या, .net के भीतर निहित है Windows API या सर्वर साइड पर:

यहाँ कुछ परीक्षण कोड है। क्या किसी के पास कोई अंतर्दृष्टि है?

+0

मैंने अभी इसे नोटपैड के साथ खोलने का परीक्षण किया और एक ही समस्या होती है। तो मुझे लगता है कि नेट इस व्यवहार के लिए एक संभावित स्रोत नहीं है। – ctusch

+0

यह किस प्रकार का सर्वर है? ध्यान दें कि कुछ फाइल सिस्टम निर्माण समय का समर्थन नहीं करते हैं। –

+1

यह सामान्य नहीं है, नेटवर्क पुनर्निर्देशक में गंभीरता से कुछ गड़बड़ है। सर्वर साइड। –

उत्तर

1

मुझे पता है कि यह एक पुराना सवाल है, लेकिन मैं अपने घर लिनक्स सर्वर (बहुत पुराना NAS बॉक्स) पर कुछ छवि फ़ाइलों का आयोजन करते समय इसके पार आया। फाइल निर्माण समय फ़ाइल प्रतिलिपि समय के लिए बाहर आ रहा था और मुझे पता चला कि समस्या EXT3 लिनक्स फ़ाइल प्रारूप के कारण किसी भी प्रकार के साझाकरण (एनएफएस और एसएएमबीए) पर इसका समर्थन नहीं कर रही थी। फ़ाइलों को एक EXT4 और XFS फ़ाइल सिस्टम प्रारूप में स्थानांतरित करने से मेरे लिए समस्याएं हल हो गईं।

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

  • कोई संबंधित समस्या नहीं^_^