After running into a \"common\" async deadlock and getting further understanding from Async Best Practices I tried simulating the issue in ASP.NET in an attempt to figure ou
The reason why api/DeadLock/HttpDeadLock is not dead-locking is because within that code you are not awaiting for any task.
You are instead blocking the thread by synchronosuly waiting on the task by calling Task.Result.
Dead-locks when implementing this sort of patterns usually come up with a combination of async-await and Task.Wait/Task.Result combination.