我使用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)一次,几千个文件?
答案 0 :(得分:0)
关于FtpWebRequest的MSDN文档非常令人困惑,因为他们说应该重用FTP连接,但他们没有说明如何。他们之所以不怎么说是因为你不需要做任何特别的事情。您只需创建下一个FtpWebRequest,它将意识到这些是相同的凭据并使用相同的连接,只要在FtpWebRequest中设置了IsKeepAlive标志,默认情况下就是这种情况。
简短的回答是:您不需要做任何特殊的事情来重用ftp连接。
但是你可以通过不创建新的凭据来改进你的代码,但只创建一次,然后为每个FtpWebRequest重用它们。