मुझे फाइल सिस्टम सिस्टम के साथ काम करने में कोई समस्या है, यह मुझे पागल कर रहा है।.NET का FileSystemWatcher जब कोई अपवाद उठाया जाता है तो क्रैश हो जाता है, फेंक फ़ाइल भविष्य की फ़ाइलों के लिए उपयोग में है
बाहर कर देता है मैं एक फ़ोल्डर, में नए पाठ फ़ाइलों के लिए देख रहा हूँ जब बनाया इवेंट उठाया है, मैं मूल रूप से यह निम्नलिखित कोड का उपयोग कर पढ़ें:
string txtTemp = File.ReadAllText(MyFilePath);
उसके बाद, मैं में डेटा की प्रक्रिया txtTemp स्ट्रिंग, मूल रूप से मैंने इसे & डेटा को डीबी पर संग्रहीत किया है, यह बहुत आसान है?
समस्याहै जब एक अपवाद इस प्रक्रिया (मान लीजिए कि डाटाबेस कनेक्शन विफल है) अगर मैं इसे पकड़ने, यह कोई बात नहीं में उठाया है, क्योंकि अगले आने वाले फ़ाइलों के लिए एप्लिकेशन एक अपवाद
कह फेंक होगा"प्रक्रिया'NewComingFile.txt 'फ़ाइल तक नहीं पहुंच सकती है क्योंकि यह किसी अन्य प्रक्रिया द्वारा उपयोग की जा रही है।"
नई बनाई गई फ़ाइल का उपयोग कैसे किया जा सकता है अगर इसे खोला या पढ़ा नहीं गया है? और एप्लिकेशन सभी नई फ़ाइलों के लिए "प्रक्रिया को एक्सेस नहीं कर सकता" अपवाद को फेंकता रहता है।
केवल एक चीज हम कर सकते हैं, को बंद करने और आवेदन को फिर से खोलने के लिए है इस एप्लिकेशन को रीसेट करता है और सब कुछ फिर से ठीक काम करता है किसी भी प्रकार की कोई अपवाद जब तक फिर से उठाया है> (भगवान!)
कोई भी विचार? कोई कामकाज? कोई विचार? कोई सुझाव ... कोई भी? hehehehe =)
धन्यवाद दोस्तों !!
क्या यह संभव है कि आप अपवाद के मामले में एक और फ़ाइलसिस्टम वाटर स्थापित कर रहे हों, और वे दोनों एक ही फाइल को संभालने के लिए दौड़ रहे हैं? क्या आप अपना इवेंट हैंडलिंग कोड पोस्ट कर सकते हैं, साथ ही FileSystemWatcher सेटअप कोड भी पोस्ट कर सकते हैं? – zmbq
अधिक कोड उपयोगी होगा – jtm001
['File.ReadAllText()'] (http://msdn.microsoft.com/en-us/library/ms143368.aspx): "एक टेक्स्ट फ़ाइल खोलता है, फ़ाइल की सभी पंक्तियां पढ़ता है , ** और फिर फ़ाइल ** बंद कर देता है। "। ऐसा तब तक नहीं होना चाहिए जब तक अपवाद नहीं उठाया जाता है। क्या आप फ़ाइल पढ़ने के लिए StreamReader को आजमा सकते हैं? – CodeCaster