delegateの戻りがそのままアクションの戻りとして使われるし。なんかコードみてるとasyncCallbackとasyncStateをCallContextに入れるようになってる。コレだとスレッド単位のコンテキストオブジェクト管理が出来るっぽい。ActionResultなんかはHttpContext.Itemに入れて、リクエストコンテキストで管理。ちなみにコレのプロジェクトにベンチマーク用のコードが入っててこれいいじゃん!みたいな。PowerShellとIIS6リソースキットに含まれるTinyGetを使って時間を計測。シンプルで簡単なテストだから試してみた。試すに当たって使った同期版のコードは↓。