Есть FTP сервер, с которого надо скачивать файлы, для этого я использую WebClient. И есть так же вероятность обрыва соединения во время загрузки.
Вот такой код сейчас скачивает файл
private static BlockingCollection<FileItem> downloadQueue;
private static void StartDownloadTask()
{
FileItem file;
if (downloadQueue.Count > 0 && downloadQueue.TryTake(out file))
{
using (WebClient client = InitWebClient())
{
Task t;
t = client.DownloadFileTaskAsync(file.RemoteUri, file.SavePath);
t.ContinueWith(OnTaskComplete);
}
}
}
private static WebClient InitWebClient()
{
WebClient client = new WebClient();
client.Credentials = new NetworkCredential(Settings.Login, Settings.Password);
return client;
}
Мне надо приостановить загрузку файла, если соединение пропало, и подождать некоторое время, пока соединение вновь восстановится. И затем продолжить загрузку. Как это можно реализовать?