Я использую библиотеку SSH.NET для создания клиента SFTP. Мне нужно возобновить загрузку, если сетевое соединение снова станет доступным в течение этого тайм-аута. Я использую упомянутый ниже подход, как показано во многих примерах.
PrivateKeyFile ObjPrivateKey = new PrivateKeyFile(keyStream);
PrivateKeyAuthenticationMethod ObjPrivateKeyAutentication = new PrivateKeyAuthenticationMethod(username, ObjPrivateKey);
var connectionInfo = new ConnectionInfo(hostAddress, port, username, ObjPrivateKeyAutentication);
try
{
using (var client = new SftpClient(connectionInfo))
{
client.ConnectionInfo.Timeout = TimeSpan.FromSeconds(10);
client.Connect();
if (!client.IsConnected)
{
return false;
}
if (!client.Exists(source))
{
return false;
}
var fileName = Path.GetFileName(source);
using (var fs = new FileStream(destination + fileName, FileMode.Create))
{
client.DownloadFile(source, fs, printActionDel);
fs.Close();
returnState = true;
}
client.Disconnect();
client.Dispose();
}
}
Я отключаю сетевой кабель, чтобы прервать загрузку и проверить сценарий тайм-аута. Хотя я снова включаю подключение к Интернету в течение тайм-аута для возобновления загрузки, оно не возобновляется. Что я здесь делаю не так? Пожалуйста посоветуй.