【发布时间】:2016-09-07 13:28:04
【问题描述】:
WebClient DownloadFileAsync() 不适用于相同的 URl 和凭据...
有什么线索吗?
static void Main(string[] args)
{
try
{
var urlAddress = "http://mywebsite.com/msexceldoc.xlsx";
using (var client = new WebClient())
{
client.Credentials = new NetworkCredential("UserName", "Password");
// It works fine.
client.DownloadFile(urlAddress, @"D:\1.xlsx");
}
/*using (var client = new WebClient())
{
client.Credentials = new NetworkCredential("UserName", "Password");
// It y creats file with 0 bytes. Dunow why is it.
client.DownloadFileAsync(new Uri(urlAddress), @"D:\1.xlsx");
//client.DownloadFileCompleted += new AsyncCompletedEventHandler(Completed);
}*/
}
catch (Exception ex)
{
}
}
【问题讨论】:
-
如果这确实是您程序的内容,那是因为
Main在引发事件之前就退出了。当 Main 退出时,进程终止。您要么需要按原样使用同步版本,要么阻止Main退出,直到引发事件。 -
如果在 powershell 中编码,如何阻止 main 退出?
标签: c# .net webclient downloadfileasync