非同期的に応答をフラッシュするだけを追加するだけで、根本的な変更はないと思います
応答の非同期フラッシュ
HTTP クライアントへの応答の送信には、クライアントが遠くにある場合や接続の帯域幅が狭い場合、かなりの時間がかかることがあります。通常、ASP.NET は、アプリケーションによって作成された応答バイトをバッファーします。次に、ASP.NET は、要求処理の最後に、蓄積されたバッファーの単一の送信操作を実行します。
バッファーされた応答が大きい場合 (たとえば、大きなファイルをクライアントにストリーミングする場合)、定期的に HttpResponse.Flush を呼び出して、バッファーされた出力をクライアントに送信し、メモリ使用量を制御する必要があります。ただし、Flush は同期呼び出しであるため、Flush を繰り返し呼び出すと、長時間実行される可能性のある要求の間、スレッドが消費されます。
ASP.NET 4.5 では、HttpResponse クラスの BeginFlush メソッドと EndFlush メソッドを使用して非同期的にフラッシュを実行するためのサポートが追加されています。これらのメソッドを使用すると、オペレーティング システムのスレッドを拘束することなく、データを段階的にクライアントに送信する非同期モジュールと非同期ハンドラーを作成できます。BeginFlush 呼び出しと EndFlush 呼び出しの間に、ASP.NET は現在のスレッドを解放します。これにより、長時間実行される HTTP ダウンロードをサポートするために必要なアクティブ スレッドの総数が大幅に減少します。