Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/csharp-4.0/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/dart/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 在C中的一个调用中进行多个异步调用#_C#_C# 4.0_Asynchronous_Asp.net Web Api_Async Await - Fatal编程技术网

C# 在C中的一个调用中进行多个异步调用#

C# 在C中的一个调用中进行多个异步调用#,c#,c#-4.0,asynchronous,asp.net-web-api,async-await,C#,C# 4.0,Asynchronous,Asp.net Web Api,Async Await,我想在一个调用中进行多个异步调用,而不使用循环。例如,我想传递一个URI列表,并在一个调用中异步检索所有URI。这可以通过C#实现吗 这里有一个类似于我正在寻找的任务的列表。您可以非常轻松地获得任务列表,例如: var tasks = uris.Select(async uri => { using (var client = new HttpClient()) {

我想在一个调用中进行多个异步调用,而不使用循环。例如,我想传递一个URI列表,并在一个调用中异步检索所有URI。这可以通过C#实现吗


这里有一个类似于我正在寻找的任务的列表。

您可以非常轻松地获得任务列表,例如:

var tasks = uris.Select(async uri =>
            {
                using (var client = new HttpClient())
                {
                    return await client.GetStringAsync(uri)
                }
            })
            .ToList();

请注意,如果要使用async/await,则需要C#5,而不是C#4。如果使用Nuget软件包,您仍然可以使用.NET 4.0,但必须使用C#5编译器。

您可能希望尝试重用
HttpClient
实例。我相信这是为此而设计的。