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) 一次,几千个文件?

4

1 回答 1

0

关于 FtpWebRequest 的 MSDN 文档非常混乱,因为他们说应该重用 FTP 连接,但他们没有说明如何。他们不说如何的原因是因为您不需要做任何特别的事情。您只需创建下一个 FtpWebRequest,它将意识到这些是相同的凭据并使用相同的连接,只要在 FtpWebRequest 中设置了 IsKeepAlive 标志,默认情况下就是这种情况。

简短的回答是:您不需要做任何特别的事情来重用 ftp 连接。

但是您可以通过不创建新凭据而只创建一次然后为每个 FtpWebRequest 重用它们来稍微改进您的代码。

于 2013-08-07T02:41:14.633 回答