HttpResponse.End()
throws an exception by design; it has to to work.
Only when the ThreadAbortException
is thrown, does the thread that's rendering the response end. If there's no exception, the response doesn't end.
One alternative would be to call HttpContext.Current.ApplicationInstance.CompleteRequest
instead. This will prevent further code from executing by jumping straight to the Application_EndRequest
event.
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…