Webclient使用Async恢复下载

che*_*ran 6 wpf webclient download resume-download c#-4.0

我正在WPF应用程序中实现多个文件下载进度.如果互联网在下载过程中失败,我需要维护下载的数据并恢复下载.

例如,在下载过程中,如果互联网出现故障,我需要等待5分钟才能重新连接互联网并恢复下载,如果5分钟后无法重新连接,则需要终止请求.并且该过程需要是Async,因为我正在下载多个文件,并且第二个文件在下载第一个文件之前不能开始下载.

     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)
                        {

                        }
                    }
Run Code Online (Sandbox Code Playgroud)

我已经检查了下面的一些链接,但似乎没有一个工作.

https://github.com/Avira/.NetFileDownloader

https://github.com/markodt/SGet

https://www.codeproject.com/Tips/307548/Resume-Suppoert-Downloading

如果互联网在指定时间内重新连接,请分享您对如何保留下载缓存并恢复下载的想法.

问候,

基兰