Где же асинхронные продолжения в очереди в ASP.NET Core? - PullRequest
0 голосов
/ 21 декабря 2018

В устаревшем ASP.NET продолжение асинхронного метода ставится в очередь в контексте запроса (AspNetSynchronizationContext).Но в ASP.NET Core нет такого SynchronizationContext (без контекста).

Итак, где асинхронные продолжения помещаются в очередь в ASP.NET Core?

При этом условии без контекста , где хранится информация HttpContext, так что потоки из ThreadPool могутсослаться на это?

1 Ответ

0 голосов
/ 22 декабря 2018

Я настоятельно рекомендую вам прочитать Стивен Клири блог и даже его книгу этом посте он рассказывает о контексте синхронизации в ASP.NET Core.

Я выделяю этот абзац:

При использовании контекстного подхода ASP.NET Core, когдаасинхронный обработчик возобновляет выполнение, поток берется из пула потоков и выполняет продолжение.Очереди контекста избегают, и нет необходимости «ввода» контекста запроса.Кроме того, механизм async / await сильно оптимизирован для сценария без контекста.Для асинхронных запросов просто меньше работы.

...