WebClient.DownloadFileAsync()在慢速网络下不能正确下载文件
本文关键字:不能 文件 下载 网络 DownloadFileAsync WebClient | 更新日期: 2023-09-27 18:04:58
我的应用是用来下载文件的。下载文件后,将这些文件的大小与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.
}
您试图一次下载太多文件。尝试批量下载。AsyncDownloadCompleted Event对象上还有一个error属性,它会告诉你异常是什么。