実現したいこと
C#(Visual Studio 2015)でFTPサーバー上の複数のファイルを削除しようとしています。
前提
以下のコードでFTPサーバー上のファイルを削除しようとしています。
foreach (string file in delFiles) // delFilesは削除するファイルのリスト
{
ftpReq = (FtpWebRequest)WebRequest.Create(file );
ftpReq.Credentials = new NetworkCredential(FTP_User_ID, FTP_Password);
ftpReq.KeepAlive = false;
ftpReq.UsePassive = false;
ftpReq.Method = WebRequestMethods.Ftp.DeleteFile;
using (FtpWebResponse fwres = (FtpWebResponse)ftpReq.GetResponse()) { }
}
発生している問題・エラーメッセージ
1ファイル目は削除されるのですが、2ファイル目のGetResponse()で応答が返ってきません。
別のサーバーに接続すると、問題なく全てのファイルが削除されます。
サーバーによりGetResponse()の応答が返ってこない原因が分からず困っています。
何かご存知の方がいたら、ご教授ください。
調査したこと・ためしたこと
WEB上で調査してみたのですが、ファイル削除の方法は上記以外に見つかりませんでした。
ファイルを削除する際に間隔(5秒)を空けたら成功したとの意見もあったので、試したのですが結果は変わらずです。
因みに、ファイルの連続削除が成功するサーバーは、ファイル一覧取得の要求(ListDirectoryDetails)の応答にはパーミッションの情報が入ってなく、ディレクトリの場合に<DIR>の文字列があります。
ファイルの連続削除が失敗するサーバーの場合は、パーミッションの情報("rw-r--r--"等)が入ってきますが、これなサーバーのOSによる違いなのでしょうか?
FTPに関して詳しくなく、色々聞いていしまい申し訳ありません。

回答1件
あなたの回答
tips
プレビュー