views:

100

answers:

2

What's the difference between calling .NET methods asynchronously by using:

vs.

vs.

I assume the difference between the first two and the third one is that some objects (WebClient in this case) natively support asynchronous calling via dedicated methods, so there's no need to use the BeginInvoke or IAsynchResult approaches?

+1  A: 

The first two approaches actually go hand-in hand. The BeginInvoke method returns an IAsyncResult which you later use for a call to EndInvoke later. The third method hides a lot of this complexity by allowing you to give it a delegate to call when it has completed its task (usually a bit easier to use).

Robert Fraser
+1  A: 

This is a very large topic. There is a good introduction to the various .Net async methods at Code Project.

Dour High Arch
Thanks for the great reference.
Emilio