Какой механизм используют асинхронные задачи в ASP.Net MVC 4.0? - PullRequest
3 голосов
/ 01 октября 2011

Какой механизм стоит за асинхронными задачами в MVC 4?Как это связано с нормальными потоками?Пожалуйста, предоставьте детали.

Ответы [ 4 ]

2 голосов
/ 01 октября 2011

Если вас интересуют ключевые слова async и await, вам может показаться интересным это интервью * Channel 9 с Андерсом Хейлсбергом .

Кроме того, взгляните на: это видео с PDC .

1 голос
/ 02 октября 2011

Обычно один запрос страницы ASP.NET обрабатывается одним потоком.После того как поток отправляет ответ, он возвращается в пул потоков ASP.NET.

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

В частности, async / await по умолчанию использует SynchronizationContext.См. мою статью MSDN для получения более подробной информации.

1 голос
/ 01 октября 2011

Как уже указывалось ранее, ключевое слово async является частью .Net. Для лучшей реализации асинхронного программирования Microsoft выпустила несколько CTP для этого, и это будет из коробки на .Net 4.5 AFAIK.

Полезна также статья ниже:

http://www.juliencorioland.net/Archives/en-aspnet-mvc-4-asynchronous-controllers

0 голосов
/ 01 октября 2011

Асинхронные задачи - это функция .NET, а не ASP.NET MVC 4. Они работают в ASP.NET так же, как и в других местах .NET.

...