ASYNC REQUEST VS SYNC REQUEST ON IIS 7.5
Creating an Asynchronous HTTP Handler
. Asynchronous HTTP HANDLERS enable you to start an external process (such as a method call to a remote server) while the handler continues processing. The handler can continue without waiting for the external process to finish.
During processing of an asynchronous HTTP handler, ASP.NET puts the thread that would ordinarily be used for the external process back into the thread pool until the handler receives a callback from the external process. This can prevent thread blocking and improve performance, because only a limited number of threads can be executing at the same time. If many users request synchronous HTTP handlers that rely on external processes, the operating system can quickly run out of threads because many threads are blocked and waiting for an external process.
AN ASYNC REQUEST DOES NOT WAIT FOR A RESPONSE (it simply registers a callback and moves on)
AN ASYNC RESOURCE (SERVICE) DOES NOT BLOCK THE THREAD ITS EXECUTING ON (it simply let go of the thread when a blocking operation is to be performed and sits pretty awaiting the result)
An asynchronous request takes the same amount of time to process as a synchronous request. However, during an asynchronous call, the server is not blocked from responding to other requests while it waits for the first request to complete. Therefore, asynchronous requests prevent request queuing when there are many requests that invoke long-running operations http://msdn.microsoft.com/en-us/library/ee728598(v=vs.100).aspx