.net 发送多个异步web请求并编译所有响应

.net 发送多个异步web请求并编译所有响应,.net,asynchronous,httpwebrequest,taskfactory,.net,Asynchronous,Httpwebrequest,Taskfactory,我试图循环浏览一组数据,并为列表中的每个项目发送web请求。我希望异步发送每个web请求,并继续发送其余的请求 棘手的是,我想捕获并编译所有这些请求的响应 我只是不确定任务工厂到底是如何工作的,我的解决方案是否真的做到了我希望它做的事情 以下是我的for循环中的内容: var runningTasks = new List<Task<string>>(); var taskResp = Task.Factory.FromAsync<WebResponse>(r

我试图循环浏览一组数据,并为列表中的每个项目发送web请求。我希望异步发送每个web请求,并继续发送其余的请求

棘手的是,我想捕获并编译所有这些请求的响应

我只是不确定任务工厂到底是如何工作的,我的解决方案是否真的做到了我希望它做的事情

以下是我的for循环中的内容:

var runningTasks = new List<Task<string>>();
var taskResp = Task.Factory.FromAsync<WebResponse>(request.BeginGetResponse, request.EndGetResponse, null);
var taskResult = taskResp.ContinueWith(t => new StreamReader(t.Result.GetResponseStream()).ReadToEnd().Trim());
runningTasks.Add(taskResult);

Task.WaitAll(runningTasks.ToArray());
IEnumerable<string> results = runningTasks.Select(t => t.Result);
var runningTasks=new List();
var taskrep=Task.Factory.fromsync(request.BeginGetResponse,request.EndGetResponse,null);
var taskResult=taskrep.ContinueWith(t=>newstreamreader(t.Result.GetResponseStream()).ReadToEnd().Trim());
运行任务。添加(任务结果);
Task.WaitAll(runningTasks.ToArray());
IEnumerable results=runningTasks.Select(t=>t.Result);