我正在我的 WPF 应用程序中实现多个文件下载进度。如果下载过程中互联网出现故障,我需要维护下载的数据并恢复下载。
例如,在下载过程中,如果互联网失败,我需要等待 5 分钟互联网重新连接并恢复下载,如果 5 分钟后重新连接失败,则需要终止请求。而且该过程也需要是异步的,因为我正在下载多个文件,并且第二个文件不能在第一个文件下载之前开始下载。
using (client = new WebClient())
{
try
{
client.DownloadProgressChanged += client_DownloadProgressChanged;
client.DownloadFileCompleted += client_DownloadFileCompleted(fileName);
await AsyncPlatformExtensions.DownloadFileTaskAsync(client, new Uri(sourceUri), outputDir);
}
catch(WebException exe)
{
}
catch(Exception e)
{
}
}
我检查了一些如下链接,但似乎没有一个有效。
https://github.com/Avira/.NetFileDownloader
https://github.com/markodt/SGet
https://www.codeproject.com/Tips/307548/Resume-Suppoert-Downloading
如果互联网在指定时间内重新连接,请分享您对如何保留下载缓存并恢复下载的想法。
问候,
切兰