Теперь все мы знаем, что следующее может вызвать тупик:
var result = myFunctionAsync().Result;
Но как насчет:
var task = myFunctionAsync(); Task.WaitAll(task); var result = task.Result;
Будет ли этот шаблон предотвращать любые взаимоблокировки?