2009-10-13 6 views
7

を失敗した私がしたFtpWebRequestを使用してファイルの詳細を一覧表示しようとするが、非常に頻繁にそれはWebExceptionに失敗し、ログインしていませんエラー530ユーザーを示しています。の.Netた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

あなたの問題は、WindowsエクスプローラのFTPに組み込まれているバグ(Explorer.exeに統合されたInternet Explorer)に似ています。ディレクトリを移動した後に資格情報が失われ、繰り返しログインするように求められます。しかし、私はdotnetを使用しているときにこの動作について聞いたことはありません。 –

答えて

1

reqFTP.KeepAlive = false; 

を設定してみてください、おそらく上記の

reqFTP.UsePassive = false; 

動作しない場合、私はfalseにこれらを設定することの発生を減少させることを見出しましたこのエラー(FTPサーバーによって生成されます)はかなりです。