I know this is an old question, but I struggled to get an answer, so here are my two cents.
Itβs like if we donβt have a fever, Iβll still take the pill. You should use an Asynch controller if you see a stream puzzle on your web server. IIS web server supports thread pool. Therefore, when any request arrives, it takes a stream from the thread pool. If at the moment all the threads from the pool are used and the request arrives, this request goes into standby mode. This situation is called "Theme Voice." You can also watch this youtube video where I showed how MVC-Threading hunger looks like
http://www.youtube.com/watch?v=wvg13n5V0V0

When you create your controller as Asynch, it uses the thread, starts the operation, and moves that thread back to the thread pool, so it can be used for other requests coming into the MVC application. Upon completion of the operation, it draws the stream from the thread pool and displays the view.
Shivprasad koirala
source share