On-Demand Workshop: Understanding Asynchronous Programming with C#
- Access anytime, anywhere, with a computer, tablet or smartphone.
- Interactive content designed for a proven learning experience.
Length of Course: 4 Hours of In-Depth Training
Type of training: Self-Paced, On-Demand
Access: 3 Months
Asynchronous code is everywhere. In our C# code, we "await" method calls to services and databases; and more and more packages that we use every day have asynchronous methods. But do you really understand what this does?
Understanding is critical. When done correctly, we can make our applications more responsive, faster, and reliable. When done incorrectly, we can block threads or even hang the application entirely.
In this 4-hour on-demand workshop, we start at the beginning to see how "await" relates to "Task". We do this by calling an asynchronous method, getting a result, and handling errors that come up. We create our own "awaitable" methods to see how Task and return types work together. With our own methods, we also better understand why we may (or may not) care about getting back to the original calling thread. We also cover some dangers, such as using "async void" or misusing ".Result". Finally, we use Task to run multiple operations in parallel to make things faster. With all of these skills, we can write more effective asynchronous code.
For this workshop, it is assumed that you have experience with C#, but no specific asynchronous programming experience is needed. To run the samples code, you need .NET 3.1 installed. Jeremy uses Visual Studio 2019, but the code samples will run using Visual Studio Code or the editor of your choice.
You will learn:
- How to use "await" and "Task" to run asynchronous methods
- About handling errors from asynchronous processes
- About writing your own asynchronous methods
- How to avoid pitfalls such as "async void" and ".Result"
- About running multiple methods in parallel
Meet Our Speaker
Jeremy Clark makes developers better. By drawing on over 15 years of experience in application development, he helps developers take a step up in their skill set with a focus on making complex topics approachable regardless of skill level. He is a Microsoft MVP for .NET, and he has authored seven courses for Pluralsight, including "C# Interfaces", a course aimed at giving developers a clear understanding of abstraction. He loves speaking and has delivered over 300 technical presentations in the last 10 years in the United States and Europe. Jeremy lives in northern Washington with his lovely wife, 3 cats, 2 dogs, and a banjo.