Using asynchronous services in WCF
WCF has support for both client-side and server-side asynchronous programming scenarios. By client-side programming, I mean that a service built with a request/response operation can appear asynchronous to the client. For example, let's look at a simple sequence diagram that shows what I mean:
The WCF client proxy class is responsible for simulating the asynchronous communication, while the actual service still exposes only a synchronous operation. Let's look at an example of how we can physically create a client-side asynchronous experience in a WCF solution.
Creating the synchronous service
We start out by creating a new, empty Visual Studio 2012 solution. Then, we add a project of type WCF service library to the solution. This project type automatically adds an interface class, service class, and an application configuration file. I changed the interface class content so that it reflects the adverse event object that we will work with throughout this chapter...