我有大量的WCF服务调用。简单地:
foreach (var node in tree.Nodes) {
// some preparing code here
....
treeView.TocStorageInstance.UpdateNode(node) //network call
}
我想将所有这些逐个执行的网络调用并行 - 正如我在提琴手中看到的那样。
尝试下一种方法并不成功:
var nodesToUpdate = new List<Task>();
foreach (var node in tree.Nodes) {
// some preparing code here
....
nodesToUpdate.Add(await Task.Run(() => treeView.TocStorageInstance.UpdateNode(node)));
}
await Task.WhenAll(nodesToUpdate);
所有调用仍然在foreach
语句中逐个执行。
有可能吗?