C# 列表上的异步函数
我有一个函数如下所示:C# 列表上的异步函数,c#,async-await,c#-5.0,C#,Async Await,C# 5.0,我有一个函数如下所示: public async Task<decimal> GoToWeb(string Sym){} 公共异步任务GoToWeb(字符串Sym){ 在字符串列表上调用它的最佳方式是什么?MSDN中一篇关于使用async wait并行处理多LPE任务的文章。另一个是专门处理一系列任务的 简而言之,您可以执行以下操作之一: 开始所有任务,然后等待每项任务。它们都将并行运行,一旦它们全部完成,您的程序将继续运行 将任务放入集合,然后使用wait等待多个任务 第二种方
public async Task<decimal> GoToWeb(string Sym){}
公共异步任务GoToWeb(字符串Sym){
在字符串列表上调用它的最佳方式是什么?MSDN中一篇关于使用async wait
并行处理多LPE任务的文章。另一个是专门处理一系列任务的
简而言之,您可以执行以下操作之一:
wait
等待多个任务List<string> Syms = ... // Create your list of strings
IEnumerable<Task<decimal>> tasks = from Sym in Syms select GoToWeb(Sym);
decimal[] results = await Task.WhenAll(tasks);
列表符号=…//创建字符串列表
IEnumerable tasks=从Syms中的Sym选择GoToWeb(Sym);
十进制[]结果=等待任务。当所有(任务);
您想尝试一次启动所有任务,还是希望最大数量的活动任务?我希望它们尽快完成。由于它们是web查询,我认为最好的方法是尽快启动它们。OTOH,如果它们都在同一台服务器上,并且该服务器允许最大数量的并发连接,尝试一次启动所有任务可能会导致错误。浏览器通常对每台服务器的连接数有限制。如果这个问题没有出现,当然,开始他们所有人。它没有,显然。。。