में वेब सेवा में एकल फ़ाइल को लिखना जारी करना मैंने .NET 2.0, C# में एक webservice बनाया है। वेब सेवा क्लाइंट द्वारा जब भी विभिन्न विधियों को बुलाया जाता है तो मुझे फ़ाइल में कुछ जानकारी लॉग इन करने की आवश्यकता होती है।.NET
समस्या तब आती है जब एक उपयोगकर्ता प्रक्रिया फ़ाइल पर लिख रही है और दूसरी प्रक्रिया इसे लिखने का प्रयास करती है।
The process cannot access the file because it is being used by another process.
समाधान है कि मैं सी # में लागू करने की कोशिश की और विफल रहे हैं के रूप में नीचे हैं: मैं निम्नलिखित त्रुटि मिलती है।
- कार्यान्वित सिंगलटन कक्षा जिसमें फ़ाइल में लिखने वाले कोड शामिल हैं।
- फ़ाइल में लिखने वाले कोड को लपेटने के लिए प्रयुक्त लॉक स्टेटमेंट।
- मैंने ओपन सोर्स लॉगर लॉग 4नेट का उपयोग करने का भी प्रयास किया है, लेकिन यह एक आदर्श समाधान भी नहीं है।
- मुझे सिस्टम इवेंट लॉगर में लॉगिंग करने के बारे में पता है, लेकिन मेरे पास यह विकल्प नहीं है।
मैं जानना चाहता हूं कि ऐसी समस्या का एक पूर्ण और पूर्ण समाधान मौजूद है या नहीं?
म्यूटेक्स लॉकोब = = नया म्यूटेक्स (झूठा, "mymutex"); संकलित करेगा –
आपको इसे बनाने से पहले पहले उस नाम के साथ मौजूदा म्यूटेक्स खोलने का प्रयास करना चाहिए। अन्यथा, "नई म्यूटेक्स (...)" रेखा एक अपवाद फेंक सकती है। मैं एक कोशिश/पकड़/आखिरकार ब्लॉक का उपयोग करने की सलाह भी दूंगा, रिलीज कॉल को आखिरकार ब्लॉक में ले जाउंगा, और अगर आपको वास्तव में लॉक मिल जाए तो इसे छोड़ दें। –