ConfigureAwait (false), релевантный в ASP.NET Core?

Я наткнулся на проблему (https://github.com/HTBox/allReady/issues/1313) в GitHub, где они обсуждали вопрос о выходе ConfigureAwait(false) из кода, утверждая, что, в ASP.NET Core

вызов ConfigureAwait(false) является избыточным и ничего не делает

Лучшее, что я мог найти здесь, - это "побочная заметка" в ответе (от Стивена Клири, qaru.site/info/314337/...), говорящего, что

Ядро ASP.NET больше не имеет "контекста"

Итак, действительно ли ConfigureAwait(false) не нужен в ASP.NET Core (даже при использовании полной .NET Framework)? Имеет ли он какой-либо реальный выигрыш в производительности в некоторых случаях или разницу в результатах/семантике?

EDIT: Различие в этом аспекте, если я размещаю его как консольное приложение или в IIS?

Ответ 1

ConfigureAwait влияет только на код, выполняемый в контексте SynchronizationContext, который не имеет ASP.NET Core (это делает ASP.NET "Legacy" ).

Код общего назначения должен использовать его, потому что он может работать с SynchronizationContext.

Ядро Синхронизация ASP.NETContext