В чем преимущество и недостаток для каждого из Response.End()
и CompleteRequest()
? где я должен и где я не должен их использовать? Я искал этот Q, но я не получил правильного ответа.
Response.End() и CompleteRequest()
Ответ 1
HttpResponse.End
очищает выходной буфер до клиента и завершает текущий поток обработки запроса, тогда как HttpApplication.CompleteRequest
сообщает ASP.NET немедленно пропустить все будущие этапы в конвейере ASP.NET и перейти непосредственно к шагу EndRequest ( который также вызывает событие HttpApplication.EndRequest
. Затем поток запросов выполняется с нормальной очисткой в конце срока службы.
Итак, Response.End
похож на сиденье эжектора: он быстро заканчивает все, но означает, что вы теряете контроль и может быть излишне суровым. В то время как CompleteRequest
- это как сделать аварийную посадку в ближайшем аэропорту.