我的代码将文件从远程服务器下载到我们的服务器。
通常,一个文件最多需要大约一分钟才能完成下载。但有时下载时间超过5分钟。
如果当前下载超过5分钟,是否可以重新启动下载?
Tamir.SharpSsh.SshTransferProtocolBase sshCp;
sshCp = new Scp(sessionOptions.HostName, sessionOptions.UserName);
sshCp.Password = sessionOptions.Password;
sshCp.Connect();
foreach (UmtsFilesStruct u in Array)
{
try
{
sshCp.Get(u.RemoteFilePath, u.LocalFilePath);
}
catch (Exception ex)
{
using (StreamWriter w = File.AppendText(Logger._LogName))
{
string error = string.Format("error downloading file [{0}], Remote: {1} & Local: {2} ",
ex.Message, u.RemoteFilePath, u.LocalFilePath);
Logger.Log(error, w);
}
}
}
答案 0 :(得分:0)
您可以尝试使用System.Diagnostics.Stopwatch
作为计时器。当timer.Elapsed >= TimeSpan.FromMinutes(5)
关闭您的连接并再次运行您发布的代码时。如果一个实例的文件下载时间不到1分钟,你就不要忘记停止计时器并将其值重置为零,以防止在实际下载文件时再次下载。
P.S。如果您遇到System.Timers.Timer
System.Diagnostics.Stopwatch