में पथ। गेटटेम्फफ़ाइलनाम हम एक ही कंप्यूटर पर हमारे प्रोग्राम (सी #) के कई उदाहरण चलाते हैं। प्रत्येक उदाहरण में हमारा कोड विधि Path.GetTempFile() की सहायता से "कई" अस्थायी फ़ाइलों को बनाने का प्रयास करता है।मल्टीप्रोसेसिंग
Exception: Access to the path is denied.
StackTrace: at System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath)
at System.IO.Path.GetTempFileName()
मैं अस्थायी फ़ोल्डर की जाँच की और कुछ अजीब नहीं मिला: मुक्त डिस्क के लिए पर्याप्त है, अस्थायी फ़ाइलों की संख्या बहुत बड़ी नहीं है, आदि
मैं और कभी-कभी, हमारे कार्यक्रम अपवाद के साथ विफल रहता है केवल एक स्पष्टीकरण है: एक उदाहरण अस्थायी फ़ाइल प्राप्त करता है और इसे खोलता है, लेकिन साथ ही, एक और उदाहरण भी अस्थायी फ़ाइल का नाम प्राप्त करता है और इसे खोलने का प्रयास करता है। यदि यह सही है? यदि हां, तो समस्या को हल करने के लिए, यदि कोई समस्या नहीं है तो कैसे समझें?
युपीडी: विंडोज सर्वर 2008 एचपीसी
धन्यवाद, इगोर के साथ कंप्यूटर पर विफल रही है। Path
वर्ग के लिए
मुझे लगता है कि संभावना नहीं है। यदि 'GetTempFileName' विधि थ्रेड-सुरक्षित नहीं थी या एक अच्छी तरह से यादृच्छिक नाम उत्पन्न नहीं किया गया था, तो यह वहां नहीं होगा। ऐसा नहीं है कि मुझे पता है कि सटीक कारण क्या है ... – Noldorin
जो कारण आपको लगता है उसे खत्म करने के लिए, केवल एक * अगर (निर्देशिका। एक्सिस्टिस्ट्स (myTempFolderName)) * को अस्थायी फ़ोल्डर बनाने से पहले - यदि यह मौजूद है तो एक उत्पन्न करें नया नाम। – slugster
आपका मतलब है, Path.GetTempFileName() का उपयोग करना अच्छा अभ्यास नहीं है? यदि विधि "बहु थ्रेड या प्रक्रिया सहेजने" नहीं है तो हम इसका उपयोग कैसे कर सकते हैं? जब मुझे किसी विशेष एक्सटेंशन के साथ अस्थायी फ़ोल्डर की आवश्यकता होती है, तो मैं ग्रिड का उपयोग अद्वितीय फ़ाइल नाम के लिए करता हूं। – constructor