使用FtpWebRequest下载文件时连接太多,帮助我

时间:2013-01-17 06:57:53

标签: ftpwebrequest

我使用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 个答案:

答案 0 :(得分:0)

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

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

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