title: Need to know how the Asynchronous WCF HTTP Module/Handler in IIS7.5 (WAS) can benefit me
body: <p>I was reading the following article <a href="http://blogs.msdn.com/b/wenlong/archive/2008/08/13/orcas-sp1-improvement-asynchronous-wcf-http-module-handler-for-iis7-for-better-server-scalability.aspx" rel="nofollow">http://blogs.msdn.com/b/wenlong/archive/2008/08/13/orcas-sp1-improvement-asynchronous-wcf-http-module-handler-for-iis7-for-better-server-scalability.aspx</a> and I am a little confused.  First of all this article is from 2008 so I'm not sure if anything changed in .NET 4.0.  </p>
  
  <p>I have a client that completely relies on synchronous operations.  The first concept that I have a hard time grasping is the difference between asynchronous behavior on a worker thread level and asynchronous behavior on a client level (when calling the wcf proxies).  I would like to know the following:</p>
  
  <ul>
  <li>Is the Asynchronous WCF HTTP Module the default module in .NET 4.0?</li>
  <li>If it is not, and I enable it, will my client proxy calls be asynchronous as well.</li>
  <li>I understand the problem with using the Asynchronous WCF HTTP Module in IIS6 is because there is no throtling on the incoming requests to the server, so there can potentially be a high number of requests being queued up by WCF.  But when we are dealing with WAS, where the ASP.net worker process are not involved, what is the mechanism that prevents WCF from queueing up too many requests (i.e. DoS)? MaxConcurrentRequestsPerCpu?  </li>
  </ul>
  
  <p>My main question is the second bullet point, because I will have concurrent requests to my web services and I need to have each client request wait until the operation is complete.  However, these webserivices are also doing things like reading from a database, which delays completing of the operations (not my much ~ 1 to 2 sec but that's still significant enough).  Based on this, do you think I should enable the Asynchronous WCF HTTP Module if it isn't already?</p>