пожалуйста?
со своей стороны подчернку, что конструкция .ConfigureAwait(false).GetAwaiter().GetResult();
используется в случае, когда вызывается асинхронная функция, внутри синхронной. Дедлок вызывается именно этим фактом. Дедлок возможен даже в случае, если асинхронный метод написал "грамотно" и при асинхронном вызове работает "идеально"
" Дедлок вызывается именно этим фактом. " - нет, не этим
я выше пример кода дал, запусти его в asp net mvc 5, например, и поймёшь
потому что в данном случае дедлок вызывается пушем в контекст синхронизации из внутренних эвейтах. соответственно, в этом кейсе можно получить дедлок только в приложениях, где есть sync-context (консоли, винформы, старый асп)
Обсуждают сегодня