C#/.NET has been through a long evolution of asynchronous programming patterns. .NET Framework 1.0 (2002) came with APM (Asynchronous Programming Model). .NET Framework 2.0 (2005) provided EAP ...