Closed
Description
#This issue tracks the creation of this topic: https://github.com/dotnet/docs/blob/master/docs/csharp/tutorials/asynchronous-server-programming.md
This tutorial should explain techniques for starting asynchronous tasks, monitoring those tasks, and reporting progress.
This tutorial should also explore why offloading CPU bound work using Task.Run() in a server context is often an anti-pattern. More importantly, other recommended techniques should be explained.
Consider ValueTask, and caching completed Task results. Make sure to cover why async void is bad, and how to avoid using it in server based scenarios.