The arrival of web services and cloud computing requires developers to find ways to keep their applications responsive while dealing with remote, slow resources. The Windows Runtime doesn't allow programs to make blocking calls - all potentially long-running operations (even opening a file) must be done asynchronously. But asynchronous programming has traditionally required complex, hard to read program flows. C# 5 and Visual Basic 11 address this by supporting asynchrony at the language level, making it easy to write responsive, non-blocking programs while dramatically simplifying the code. In this session you'll see how to use C#'s new async support in both .NET 4 and Windows Runtime applications, and how to enable your own methods to be called asynchronously. We'll also peek behind the scenes to see how the C# compiler implements async methods and calls, and look at some more advanced options for asynchronous processing.