0

私はASP.NET MVCに少し慣れていません。検索した後、まだ理解できないことが1つあります。非同期コントローラーが必要な理由 すべての HTTP リクエストにより、サーバーはコントローラーの新しいインスタンスを作成するため、サーバーはリクエストをブロックしません。では、なぜ非同期コントローラーが必要なのでしょうか?

4

1 に答える 1

0

非同期コントローラーの要点は、長い操作の実行中に IIS スレッドを解放することです。IIS スレッドは、.NET スレッド プールから取得されます。スレッド プール スレッドの最大数は、システム構成によって異なります (私のコア 2 クワッドでは 1023 です)。つまり、長い操作はこれらのスレッドの 1 つを消費します。最大数に達すると、1 つが解放されるまで追加の要求を待機する必要がある場合があります。非常に明確に言えば、長いポーリング リクエストを実行するアクションが 1023 ある場合、Web サイトは追加のリクエストへの応答を停止します。

非同期コントローラーを使用すると、スレッド プールの外側にスレッドを作成できるため、この最大スレッド制限を回避できます。

于 2012-11-08T14:07:55.430 に答える