1 + n 個の非同期呼び出し ( ) で構成される非同期コントローラー アクションを作成するにはどうすればよいawaitですか? たとえば、最初にオブジェクトを取得する必要がありFoo、それには可変数のBars識別子があり、それらすべてのエンティティを取得する必要があるとしましょう (この質問のために、 はありfetchBarsByFooIdませTask.WaitAllんParallel.For。
public async Task<ActionResult> Bars(int id) {
    Foo foo = await this.FooProvider.GetFooAsync(id);
    var bars = new ConcurrentQueue<Bar>();
    // Sub-optimal version
    foreach (int barId in foo.BarIDs) {
        Bar bar = this.BarProvider.GetBar(barId);
        bars.Enqueue(bar)
    }
    // Fetch each bar asynchronously and pass them to the view.
    ....
    return View(bars.ToArray());
}