此代碼工作正常:WebClient.DownloadFile()內Parallel.ForEach
Parallel.ForEach(photos, item =>
{
WebClient webClient = new WebClient();
webClient.DownloadFile(item.src_big, "C:\\pic" + item.ID + ".jpg");
});
儘管此代碼拋出「一個Web客戶端請求期間發生異常。」 :
foreach (Photo p in photos)
{
Task.Factory.StartNew(() =>
{
WebClient webClient = new WebClient();
webClient.DownloadFile(p.src_big, "C:\\pic" + p.ID + ".jpg");
});
}
我有兩個問題:
1)在第一個代碼我使用多個WebClient的對象進行下載。第二個代碼也是一樣,爲什麼我會得到異常?
2)我正在嘗試這兩個版本,以確定什麼是最快的方式來下載照片,在我的情況下從Facebook。我想知道是否有另一種方法更快,也許WebRequest.Create()?
更重要的是,我使用相同的程序,並且它對我很好。parallel.foreach減少了很多時間 – 2011-03-29 00:56:33