1

私はFtpWebRequestを使用してサーバーから複数のファイルをダウンロードしますが、reqFTP.Credentialsを使用してリクエストを送信すると、接続が多すぎます.接続を開いてファイルを大量にダウンロードする方法、これは私のコードです:

    reqFTP = (FtpWebRequest) FtpWebRequest.Create (Uri));
                        reqFTP.Method = WebRequestMethods.Ftp.DownloadFile;
                        reqFTP.UseBinary = true;
                        reqFTP.Credentials = new NetworkCredential (ftpUserID,  ftpPassword);
FtpWebResponse response = (FtpWebResponse) reqFTP.GetResponse ();

各ファイルはreqFTP.Credentials = new NetworkCredential (ftpUserID, ftpPassword) を1回、数千のファイルにする必要がありますか?

4

1 に答える 1

0

FtpWebRequest に関する MSDN のドキュメントは、FTP 接続を再利用する必要があると述べていますが、その方法については述べていないため、非常に紛らわしいものです。方法を言わないのは、特別なことをする必要がないからです。次の FtpWebRequest を作成するだけで、IsKeepAlive フラグが FtpWebRequest に設定されている限り、これらが同じ資格情報であり、同じ接続を使用することが認識されます。これは既定の設定です。

簡単に言えば、ftp 接続を再利用するために特別なことをする必要はありません。

ただし、新しい資格情報を作成するのではなく、作成するのは 1 回だけで、すべての FtpWebRequest でそれらを再利用することで、コードを少し改善できます。

于 2013-08-07T02:41:14.633 に答える