非同期コントローラーは主に、現在のスレッド プール スレッドを放棄して、長時間実行されているプロセスが完了するのを待っている間に、他の着信接続が作業を処理できるようにするために使用されます。
これは、ビューを戻すこととは関係ありません。プロセスはエンド ユーザーの観点からは引き続き「ブロック」されますが、サーバー上では、サーバーが着信要求に応答するために必要なリソースは消費されません。
デフォルトでは、IIS ワーカー プロセスには CPU コアあたり 250 のスレッド プール スレッドがあり、着信接続に応答します (これは調整できますが、一般的には何をしているのかを知っておく必要があります)。長いリクエストが完了するのを待っている人がいる場合、そのうちの1つが完了するまで、他の誰もあなたのサーバーに接続できません. 非同期コントローラーはその問題を解決します。
非同期コントローラーを使用する場合、CPU バウンドの作業を専用スレッドにオフロードすることもできます。これは、同期コントローラーではより困難でした。また、タスクを並行して実行できます。たとえば、10 の Web サイトにアクセスしてデータを取得する必要があるとします。ほとんどの時間は、これらの Web リクエストが返されるのを待つことに費やされます。非同期処理を行っている場合は、それらを並行して実行できます。