title: ASP.NET Webmethod - Every Call processes in the same Thread
body: <p>I have to process different heavy database operations simultaneously. So I decided to make asynchronous calls to a webmethod in my ASP.NET site.</p>
  
  <p>Everything is working fine, except that every call is processed in the same thread, which means its not processing parallel, but serial.</p>
  
  <p>My Webmethod is looking like this:</p>
  
  <pre><code>[WebMethod]
  public static string Work(string id)
  {
      Thread.Sleep(3000);
      return DateTime.Now.ToString() + " " + id;
  }
  </code></pre>
  
  <p>In Firebug I can trace the requests. There are 10 requests going out parallel, but the timeline is for example looking like this:</p>
  
  <pre><code>Request01 - 18.34s
  Request02 - 09.18s
  Request03 - 21.36s
  Request04 - 06.14s
  Request05 - 27.41s
  Request06 - 30.45s
  Request07 - 15.26s
  Request08 - 03.06s
  Request09 - 12.21s
  Request10 - 24.40s
  </code></pre>
  
  <p>I understand, that every request is processed in the same thread. But how can I avoid this?
  Thank you.</p>