Обычно один запрос страницы ASP.NET обрабатывается одним потоком.После того как поток отправляет ответ, он возвращается в пул потоков ASP.NET.
Когда вы используете async
/ await
(или асинхронные страницы), поток, обрабатывающий запрос, помечает запрос как неполный изатем возвращается в пул потоков ASP.NET.Когда ожидаемое завершается позже, поток ASP.NET назначается для выполнения остальной части метода.
В частности, async
/ await
по умолчанию использует SynchronizationContext
.См. мою статью MSDN для получения более подробной информации.