हम एक निर्देशिका जो एक नेटवर्क निर्देशिका के भीतर है का उपयोग लेकिन गलत परिणाम प्राप्त (सी #/विंडोज) करने की कोशिश:कैसे Windows नेटवर्क ड्राइव करने के लिए फिर से कनेक्ट करने के लिए मजबूर करने
var exists = Directory.Exists("Z:\\Sessions\\Data1");
"Z" नेटवर्क निर्देशिका है, " सत्र "एक निर्देशिका है जहां एक रिकॉर्डिंग सॉफ्टवेयर लगातार निर्देशिका बनाता है (उदाहरण के लिए" डेटा 1 ") और इसमें कुछ डेटा डालता है। ऐसा लगता है कि विंडोज डेटा 1 के बारे में गलत स्थिति को कैश करता है: विधि गलत होती है। लेकिन जब मैं एक्सप्लोरर के माध्यम से निर्देशिका तक पहुंचता हूं तो यह यहां है। जब मैं एक्सप्लोरर के साथ निर्देशिका तक पहुंचने के बाद विधि (निर्देशिका.इक्सिस्ट) चलाता हूं, तो यह सच हो जाता है। बेशक मैं गारंटी दे सकता हूं कि निर्देशिका वास्तव में पहले प्रयास में मौजूद है।
इस व्यवहार का कारण क्या है? मैं इसमें क्या कर सकता हूँ?
संपादित करें: ऐसा लगता है कि विंडोज़ नेटवर्क ड्राइव को रिमोट कंप्यूटर से कनेक्ट नहीं कर सका। जब मैं एक्सप्लोरर के साथ निर्देशिका में नेविगेट करने का प्रयास करता हूं तो यह स्वचालित रूप से ड्राइव को कनेक्ट करने का प्रयास करता है।
तो सवाल बदलता है: क्या .NET के माध्यम से पुन: कनेक्ट करने का प्रयास करने के लिए विंडोज़ को मजबूर करने का कोई तरीका है?
समाधान: Reconnecting a disconnected network drive
यदि आप कमांड प्रॉम्प्ट से 'DIR' कमांड के साथ निर्देशिका तक पहुंचते हैं, तो क्या आपको सही जानकारी मिलती है? यही है: 'डीआईआर जेड: \ सत्र \ डेटा 1'। –
नहीं, कमांड प्रॉम्प्ट के माध्यम से निर्देशिका तक पहुंचने से नेटवर्क ड्राइव कनेक्शन रीफ्रेश नहीं होता है। कृपया मेरा संपादन देखें ... – nepa