2015-04-27 2 views
0

Я мой PageLoad я называю метод в asynchrone с.net цикл жизни страницы

new Action(() => { ... }).BeginInvoke(null, null); 

ли RequestEnd будет ждать весь поток создан там Или моя страница будет оказывать до конца моего асинхронный метод (если требуется больше времени)?

+0

Комментарий, а не ответ, но я всегда находился под впечатлением, что выполнение потоков в ASP.NET не является хорошей идеей и не будет работать должным образом. – freefaller

+0

это сделано с надежной блокировкой и задержкой между двумя вызовами избегать слишком большого количества aggresive –

+1

@freefaller нет ничего особенно плохого в использовании нескольких потоков для * коротких * операций (после завершения до конца запроса) с надлежащей синхронизацией. Использование 'async' /' await' и 'Parallel' пространства имен делает его очень простым для написания правильного многопоточного кода, включая ASP.Net. –

ответ

1

Request.End (или Redirect) заканчивается запрос синхронно и делает не ждать какого-либо выдающегося асинхронного запроса или дополнительных потоки.

Смежные вопросы