Uts*_*sav 2 c# asynchronous async-await c#-4.0 asp.net-web-api
我想在一次调用中进行多次异步调用而不使用循环.例如,我想传递一个URI列表,并在一次调用中异步检索所有这些URI.这可能通过C#?
您可以非常轻松地获得任务列表 - 例如:
var tasks = uris.Select(async uri =>
{
using (var client = new HttpClient())
{
return await client.GetStringAsync(uri)
}
})
.ToList();
Run Code Online (Sandbox Code Playgroud)
请注意,如果要使用async/await,则需要C#5,而不是C#4.如果使用Microsoft.Bcl.Async Nuget包,仍可以使用.NET 4.0 ,但必须使用C#5编译器.