Async/Await from the Ground Up

Presented by: Stephen Cleary

An async refresher course for developers who use async and await but want to really understand what's going on.

This session is a "re-introduction" to async and await. It covers what the keywords mean and - just as importantly - what they *don't* mean. We'll be covering What You Need To Know, including several different conceptual models of async/await that you can switch between at will. This refresher course will take a look at the common async best practices with a careful examination of why they're best practices and when to ignore the best practices. We'll be including some semi-advanced topics (specifically ValueTasks, asynchronous disposal, and Channels) to round out techniques for modern asynchronous development.

While this talk is geared towards developers who already use async and await, it would also be appropriate for those who do not (yet). Feel free to bring questions!

Tags: .NET, C#, Code QualityLevel: Intermediate