title: Is there any benefit of having async methods in an asp.net web api controller?
body: <p>As far as I know an asynchronous method call will start the method in a new thread and immediately give back control to the thread that initiate the call. So, in a WinForm application when there is a call to an asynchronous method inside an event handler then that method will be executed by a new thread and immediately the control will return back to the thread that initiate the call which in this case is the UI thread. At that point the UI thread is available to respond to other user requests until the asynchronous call is complete so the UI thread can resume the execution of the code inside the event handler.</p>
  
  <p>My questions is what will happen in the same scenario but instead of a WinForms application we have and asp.net web api controller (or asp.net core controller which is for both web applications and web api’s) In WinForms the UI thread is the one that will re-gain control after calling an asynchronous method in order to be able to respond to other user interaction. What is the equivalent thread in asp.net web api (or asp.net core) and is there any other form of interaction that can respond to?</p>
  
  <p>By the way, I’m not asking if it’s good or bad to use async methods in controllers. Some libraries offers only async methods so it’s inevitable. I’m just asking if ther is any benefit?</p>
  
  <p>Thanks</p>