Task<string>[] tableOfWebClientTasks = new Task<string>[taskCount];
for (int i = 0; i < taskCount; i++)
{
tableOfWebClientTasks[i] = new WebClient().DownloadStringTask(allUrls[count - i - 1]);
}
Task.Factory.ContinueWhenAll(tableOfWebClientTasks, tasks =>
{
Parallel.ForEach(tasks, task =>
{
//Here I have result from each task.
//But information which url is executed on this task, is lost.
});
});
例如,我可以創建類(具有兩個公共屬性,一個用於任務,第二個用於URL)並返回實例。但是,這種方法我與其他方法連接。如何從「第三方」庫中的方法返回另一個值?
你有這個問題的一些解決方案嗎?
爲什麼你使用'ContinueWhenAll()'和'Paralell.ForEach ()'?每個'Task'上的ContinueWith()都不會更好? – svick
請看這裏:http://blogs.msdn.com/b/pfxteam/archive/2010/05/04/10007557.aspx – mike00
那篇文章沒有解釋*爲什麼*你是這樣做的。爲什麼每個'Task'上的'ContinueWith()'都不適合你? – svick