2009-10-26 14 views
31

मैं log4net का एक लॉग फ़ाइल को पढ़ने के लिए कोशिश कर रहा हूँ द्वारा किया जा रहा है का उपयोग नहीं कर सकते हैं:प्रक्रिया फ़ाइल क्योंकि इसे किसी अन्य प्रक्रिया

FileStream fs = new FileStream(filePath, FileMode.Open, FileAccess.Read) 

और मैं अपवाद विषय पर निर्दिष्ट मिलता है। मुझे लगता है कि log4Net फ़ाइल पर एक विशेष लॉक है, लेकिन उदाहरण के लिए, नोटपैड ++ फ़ाइल को पढ़ सकता है, मुझे लगता है कि ऐसा करने के लिए तकनीकी रूप से संभव है।

कोई मदद? Fileshare विकल्प जोड़ने

उत्तर

65
using (FileStream fs = 
    new FileStream(filePath, 
     FileMode.Open, FileAccess.Read, FileShare.ReadWrite)) 
//... 

http://msdn.microsoft.com/en-us/library/system.io.fileshare.aspx

आपका लॉग बंद कर दिया जा सकता है लिखने, तो FileShare.ReadWrite साथ प्रयास करें।

+2

+1। कम से कम मेरे लिए :-) – bastianneu

+0

इससे मदद मिली! धन्यवाद! –

+2

यह मेरे लिए काम नहीं करता है। यह अभी भी कहता है कि फ़ाइल का उपयोग दूसरी प्रक्रिया द्वारा किया जाता है। कोई विचार क्यों? – tyegah123

12

कोशिश करने के लिए, देखते हैं कि अगर मदद करता है:

FileStream fs = new FileStream(filePath, FileMode.Open, FileAccess.Read, FileShare.ReadWrite); 

संपादित करें: कोड, नहीं FileShare.Read लेकिन FileShare.ReadWrite काम कर देता है ठीक किया है (जैसा कि Guillaume रूप में अच्छी तरह से पता चला है)। कारण: आप अपनी फ़ाइल खोलना चाहते हैं और दूसरों को एक ही समय में पढ़ने और लिखने की अनुमति देना चाहते हैं।

+0

इनपुट के लिए धन्यवाद, लेकिन इसने समस्या को हल नहीं किया। एक बहुत ही उपयोगी लिंक जोड़ने के लिए – pistacchio

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

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