मेरी कंपनी का कोड बेस निम्नलिखित सी # लाइन शामिल हैं:का उपयोग Directory.Exists जब नेटवर्क काम कर रहा
bool pathExists = Directory.Exists(path);
रनटाइम पर, स्ट्रिंग path
कंपनी के पर एक फ़ोल्डर का पता होता है इंट्रानेट - \\company\companyFolder
की तरह कुछ। जब मेरी विंडोज मशीन से इंट्रानेट तक कनेक्शन बढ़ जाता है, तो यह ठीक काम करता है। हालांकि, जब कनेक्शन नीचे चला जाता है (जैसा कि आज किया गया था), ऊपर की रेखा को निष्पादित करने से एप्लिकेशन पूरी तरह से जमा हो जाता है। मैं केवल कार्य प्रबंधक के साथ इसे मार कर एप्लिकेशन को बंद कर सकता हूं।
बेशक, इस परिदृश्य में Directory.Exists(path)
वापसी false
होगा। क्या इसे करने का कोई तरीका है?
यह आसानी से थ्रेड पूल में उपलब्ध सभी थ्रेड खा सकता है जिससे आवेदन के भीतर और समस्याएं आती हैं। यदि आप ऐसा कुछ करने जा रहे हैं तो आपको टाइमआउट समाप्त होने के बाद ऑपरेशन को समाप्त करने में सक्षम होना चाहिए। –
@ csharptest.net हालांकि समस्या है, आप नहीं कर सकते हैं। 'Directory.Exists' विधि को टाइमआउट के लिए नियंत्रित नहीं किया जा सकता है और चूंकि यह अनिवार्य रूप से मूल कोड ईवेंट पर नीचे गिर जाता है, इसलिए 'थ्रेड.एबॉर्ट' आपकी सहायता नहीं करेगा। – JaredPar