1

一連のデータをループして、リスト内の各項目に対して 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);
4

0 に答える 0