Calling Asynchronous Methods Using IAsyncResult
Types in the .NET Framework and third-party class libraries can provide methods that allow an application to continue executing while performing asynchronous operations in threads other than the main application thread. The following sections describe and provide code examples that demonstrate the different ways you can call asynchronous methods that use the IAsyncResult design pattern.
Blocking Application Execution by Ending an Asynchronous Operation.
Using an AsyncCallback Delegate to End an Asynchronous Operation.
See Also
Concepts
Event-based Asynchronous Pattern Overview