private Queue<string> _downloadUrls = new Queue<string>();
private void downloadFile(IEnumerable<string> urls)
{
foreach (var url in urls)
{
_downloadUrls.Enqueue(url);
}
DownloadFile();
}
private async Task DownloadFile()
{
if (_downloadUrls.Any())
{
WebClient client = new WebClient();
client.DownloadProgressChanged += ProgressChanged;
client.DownloadFileCompleted += Completed;
var url = _downloadUrls.Dequeue();
string FileName = url.Substring(url.LastIndexOf("/") + 1,
(url.Length - url.LastIndexOf("/") - 1));
await client.DownloadFileAsync(new Uri(url), "C:\\Test4\\" + FileName);
return;
}
}
错误就在这条线上:
await client.DownloadFileAsync(new Uri(url), "C:\\Test4\\" + FileName);
我该如何解决该错误?
为什么会发生?
我给出了我认为的所有细节。
我添加了可能需要的其余代码。
WebClient.DownloadFileAsync
是一个基于事件的 API,早于任务和异步/等待。你会想要等待WebClient.DownloadFileTaskAsync
反而。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)