का उपयोग करके मैंने पाया है कि मैंने एक छोटा ऐप बनाया है जो Win7-PC पर चल रहा है। यह सब करता है, सुबह 1:00 बजे नेटवर्क ड्राइव की सामग्री की जांच करना है (और इसकी स्थानीय हार्ड ड्राइव पर किसी फ़ोल्डर में इसकी तुलना करें), और यदि मतभेद हैं, तो इस फ़ोल्डर में मतभेदों की प्रतिलिपि बनाएँ ।एप्लिकेशन का कहना है कि नेटवर्क ड्राइव मौजूद नहीं है, लेकिन OpenFileDialog
समस्या यह है कि कभी-कभी यह नेटवर्क ड्राइव नहीं ढूंढ पाती है।
जब ऐप शुरू होता है, तो नेटवर्क ड्राइव ऐप पर एक बटन का उपयोग करके पाया जाता है जो OpenFileDialog शुरू करता है, और परिणामस्वरूप ड्राइव अक्षर बटन के बगल में एक टेक्स्टबॉक्स में डाल दिया जाता है। उस बिंदु से इसे सिर्फ खुद ही चलाना चाहिए। पीसी कभी बंद नहीं है।
जब यह कहता है कि नेटवर्क ड्राइव नहीं मिल पाती है, तो मैं मैन्युअल रूप से एक ही ऐप पर बटन दबा सकता हूं, ओपनफाइलडियलोग में ड्राइव का चयन करें (ड्राइव अक्षर कभी नहीं बदलता), और ऐप एक जोड़े में निर्दोष चलाएगा दिनों का फिर समस्या फिर से होती है।
सवाल यह है कि: मेरे ऐप पर OpenFileDialog के माध्यम से नेटवर्क ड्राइव का उपयोग क्यों किया जा सकता है, लेकिन मेरा ऐप नहीं कर सकता है? निर्धारित करने के लिए ड्राइव वर्तमान या नहीं है:
मेरे एप्लिकेशन को इस समारोह ("\ Y" के साथ कहा जाता है): का उपयोग कर कॉपी-प्रक्रिया शुरू
public bool fn_drive_exists(string par_string)
{
DirectoryInfo di_dir = new DirectoryInfo(par_string);
if (di_dir.Exists)
{
return true;
}
return false;
}
... और कभी कभी यह एक झूठी देता है, जब तक मैं OpenFileDialog का उपयोग करके "इसे जगाता हूं"।
OpenFileDialog क्या करता है, मेरा ऐप नहीं करता है?
कैसे के बारे में आप '\\ सर्वर \ मैप किया गया नेटवर्क चालक के बजाय sharedFolder'' Y में पारित : '? क्या यह एक ही समस्या है? –
इसके अलावा, fn_drive_exists के आसपास कुछ पुनः प्रयास तर्क डालने का प्रयास करें (शायद लूप 5 बार प्रति सेकंड 6 लूप के साथ)। –
यूएनसी पथ की तरह लगता है आपके मामले में काम करेगा। इसे देखें [एसओ पोस्ट] (http://stackoverflow.com/questions/133660/how-can-i-access-a-mapped-network-drive-with-system-io-directoryinfo) –