【发布时间】:2013-10-25 21:56:27
【问题描述】:
这是我正在使用的代码,它可以工作,但应用程序的 ftp 部分大约需要 5 分钟。
它们本身的文件不是太大,但我想优化应用程序,我觉得这是最好的起点。
我尝试下载 4 个特定文件。
这里是文件大小:
1 - ~48mb 2 - ~856k 3 - ~25mb 4 - ~49mb
// BEGIN FTP
WebClient request = new WebClient();
request.Credentials =
new NetworkCredential(this.userNameRTF.Text,
this.passRTF.Text);
string[] ftpFile = new string[4];
ftpFile[0] = "1";
ftpFile[1] = "2";
ftpFile[2] = "3";
ftpFile[3] = "4";
foreach(string s in ftpFile)
{
string ftpFileName = s;
byte[] fileData =
request.DownloadData(this.ftpHost
+ this.ftpPath.Text + ftpFileName);
FileStream file =
File.Create(@"\\nas03\customerftp\" + custName.Text + @"\" + ftpFileName);
file.Write(fileData, 0, fileData.Length);
file.Close();
}
感谢您的帮助!
【问题讨论】:
-
您是否输入了任何跟踪代码以真正查看哪些行在性能方面存在问题。您可以轻松地使用 StopWatch 类来帮助您。
-
我不太确定什么是跟踪代码?我一直在自学,所以我确信我对 Visual Studio 所提供的一切都没有把握......
-
另请注意,某些 FTP 服务器配置只能接受来自客户端 IP 的单个连接,因此在这种情况下,任何并行下载技巧都会失败。