I gave three talks on Async at TechEd Europe. These cover everything you need to know about async, from beginner to advanced.


Intro: Using Async in Windows 8. This introductory talk introduces how to use async, the connection between IAsyncOperation and Task, and how to cancel an async operation.


Intermediate: Three Essential Tips for Async. (1) Only use Async Void for event-handlers; (2) use TaskCompletionSource to wrap events; (3) understand IO-bound vs CPU-bound code and handle them differently.


Advanced: How to be a responsible async library developer. (1) If your signature looks async, then your implementation should be truly async, and vice versa; (2) always use await Task.ConfigureAwait(false) in libraries; (3) Optimize the fast path.


The first talk was created by Alex Turner and Mads Torgersen. The third talk was created by Stephen Toub and adapted by Alex Turner.