Understanding async and await
C# 5 introduced two keywords to simplify working with the Task
type. They are especially useful for the following:
- Implementing multitasking for a graphical user interface (GUI)
- Improving the scalability of web applications and web services
In Chapter 16, Building Websites Using the Model-View-Controller Pattern, we will explore how the async
and await
keywords can improve scalability in websites.
In Chapter 20, Building Windows Desktop Apps, we will explore how the async
and await
keywords can implement multitasking with a GUI. But for now, let's learn the theory of why these two C# keywords were introduced, and then later you will see them used in practice.
Improving responsiveness for console apps
One of the limitations with console applications is that you can only use the await
keyword inside methods that are marked as async...
, and C# 7 and earlier do not allow the Main
method to be marked as async
! Luckily, a new...