Просто вызов .Result;
или .Wait()
- это риск блокировок, о котором многие говорили в комментариях. Поскольку большинство из нас, как oneliners, вы можете использовать их для .Net 4.5<
Приобретение значения с помощью метода async:
var result = Task.Run(() => asyncGetValue()).Result;
Синхронно вызывать метод асинхронизации
Task.Run(() => asyncMethod()).Wait();
Никаких проблем с блокировкой не произойдет из-за использования Task.Run
.
Источник: