私が知っている限り、非同期メソッド呼び出しは新しいスレッドでメソッドを開始し、直ちに呼び出しを開始するスレッドに制御を戻します。したがって、WinFormアプリケーションでは、イベントハンドラ内に非同期メソッドを呼び出すと、そのメソッドは新しいスレッドによって実行され、コントロールは呼び出しを開始するスレッドに戻ります。この場合はUIです糸。その時点で、UIスレッドは、非同期呼び出しが完了するまで他のユーザーの要求に応答できるようになり、UIスレッドはイベントハンドラ内のコードの実行を再開できます。asp.net web apiコントローラに非同期メソッドを持つ利点はありますか?
私の質問は、私たちが持っているWinFormsアプリケーションとasp.net web apiコントローラ(またはWebアプリケーションとWeb APIの両方に対応するasp.netコアコントローラ)ではなく、同じシナリオで何が起こるかです。WinFormsではUIスレッドは、他のユーザーとの対話に応答できるようにするために、非同期メソッドを呼び出した後に制御を再獲得するものです。 asp.net web api(またはasp.netコア)の同等のスレッドは何ですか?それに対応できる他の形式の相互作用がありますか?
ちなみに、コントローラで非同期メソッドを使用するのが良いか悪いのかは問いません。いくつかのライブラリは非同期メソッドしか提供しないので不可避です。私はもしあなたが何か利益があるかどうか尋ねているだけです?
おかげ
http://blog.stephencleary.com/2013/11/there-is-no-thread.html – Alexan