2009-10-13 35 views
7

मैं FtpWebRequest का उपयोग कर फ़ाइल विवरण सूची की कोशिश लेकिन बहुत जल्दी-जल्दी WebException साथ विफल रहता है और त्रुटि दिखाता है 530 लॉग इन नहीं उपयोगकर्ता।नेट FtpWebRequest कभी कभी विफल रहता है

यह कैसे संभव है, कि यह का उपयोग कर समय की कुछ काम करता है वही प्रमाण पत्र? कोड से

अंश:

 reqFTP = (FtpWebRequest)FtpWebRequest.Create(new Uri(ftpuri)); 
     reqFTP.UseBinary = true; 
     reqFTP.Credentials = new NetworkCredential(userName, password); 
     string[] downloadFiles = new string[0]; 
      reqFTP.Method = WebRequestMethods.Ftp.ListDirectoryDetails; 
      WebResponse response = reqFTP.GetResponse(); 
      StreamReader reader = new StreamReader(response.GetResponseStream()); 
      downloadFiles = reader.ReadToEnd().Replace("\r\n", "¤").Split('¤'); 
      reader.Close(); 
      response.Close(); 
+0

मुझे यह सही समस्या है। ऐसा लगता है कि जब मैं थोड़ी देर के लिए सर्वर से पहले ही कनेक्ट हो चुका हूं, तो मैं निर्देशिका बदलता हूं और एक सूची करता हूं। – Jonathan

+0

आपकी समस्या विंडोज एक्सप्लोरर एफ़टीपी (यानी: इंटरनेट एक्सप्लोरर Explorer.exe में एकीकृत) के बग के समान है, जहां एक निर्देशिका को नेविगेट करने के बाद यह आपके क्रेडेंशियल्स को "खो देता" और बार-बार आपको लॉगिन करने के लिए कहता है। हालांकि, मैंने डॉटनेट का उपयोग करते समय इस व्यवहार के बारे में कभी नहीं सुना है। –

उत्तर

1

reqFTP.KeepAlive = false; 

सेट करके देखें और संभवतः अगर ऊपर

reqFTP.UsePassive = false; 

काम नहीं करता है मैंने पाया है कि गलत पर इन की स्थापना की घटनाओं को कम यह त्रुटि (जो FTP सर्वर द्वारा उत्पन्न होती है) काफी है।

संबंधित मुद्दे