Ответ 1
Как я описываю в своем блоге, GetAwaiter().GetResult()
может зайти в тупик, когда он используется в контексте с одним потоком по времени. Это чаще всего встречается при вызове потока пользовательского интерфейса или в контексте ASP.NET(для предварительного ядра ASP.NET).
Wait
имеет те же проблемы. Соответствующее исправление - использовать await
и сделать асинхронный код вызова.
Обратите внимание, что метод Main
в консольных приложениях является исключением из этого правила; это очень удобно использовать там. Многие примеры кода используют его таким образом.