我的应用程序用于下载文件。下载文件后,将这些文件的大小与XML文件中的元素进行比较以进行验证。 XML文件具有每个具有“size”属性的文件的元素。这是下载文件应该是的大小。这些文件在普通以太网连接上验证正常。当使用慢速无线连接时,文件始终无法通过验证,意味着下载的文件不是它们应该的大小。为什么WebClient DownloadFileAsync()方法无法在缓慢或不稳定的网络上成功下载文件?除了一遍又一遍地重试之外,有什么方法吗?
foreach (var file in fileList.OrderBy(x => x.Name))
{
var client = new WebClient();
client.DownloadFileCompleted += (o, a) => Task.Factory.StartNew(() => OnDownloadFileCompleted());
client.DownloadFileAsync(new Uri(AppStrings.FileServer + file.Name), AppStrings.FilePath + file.Name);
webClientList.Add(client); //used to dispose later, after all files complete.
}
答案 0 :(得分:0)
您尝试一次下载太多文件。尝试分批下载。 AsyncDownloadCompleted Event对象上还有一个error属性,它将告诉您异常是什么。