Using Asynchronous command calling in ADO.NET 2.0
Ive noticed that the real raw power of the new ADO.NET is Asynchronous. Especially when used in conjunction with SQL Server 2005, custom asynchronous data handling can make for good results. This is also good when creating Internet 2.0/Ajax applications. Not only is the sql hit only sent what it needs back to the server but the hit to the db is also asynchronous. This can provide for a great new-age user experience. Microsoft recommends choosing the right scenario before just using async however. They even go on to state in the below article to not just go after the cool factor. I have provided the MS overview and it reviews best case scenarios for this great feature.