Asynchronous Programming in .NET - Introduction, Misconceptions, and Problems
I’ve found many developers are able to write asynchronous code that works, but they fail to understand some of the intricacies and commonly make small mistakes that have profound effects on the scalability and performance of their applications. Simply put, it’s a hard concept to understand. In some cases, developer’s may not have a great foundation for WHY they are writing asynchronous code in the first place. In .NET, asynchronous programming has different objectives based on the type of application you’re working on. Are you working on a desktop client application? Are you working on a web application? In these two classes of applications you will utilize asynchronous programming, but why and how are different. This leads to some confusion, where code and concepts used for desktop applications are then used in the context of a web application and vice versa.