Each Web method has an implementation associated with it. The ASMX handler allows a Web method being implemented either synchronously or asynchronously. Implementing a Web method synchronously means that the Web method will run on the thread that serves the request originally. The Web method DelayedResponse was implemented synchronously. Implementing a Web method synchronously also means implementing the Web method normally or as usual.
A Web method is called an asynchronous Web method if it is implemented asynchronously. Implementing a Web method asynchronously allows the thread that serves the request originally to return to the thread pool and serve other requests. This allows one more of the limited number of threads in the thread pool to execute, enhancing overall performance and scalability of the system.
A Web method can not be implemented both synchronously and asynchronously. VS.NET will throw a compiling error if you provide both a synchronous implementation and an asynchronous implementation.
Implementing a Web method synchronously or asynchronously has nothing to do with clients. Clients will see the same WSDL and proxy class regardless which way a Web method is implemented.