Use HttpApplication.CompleteRequest Instead of Response.End

HttpApplication.CompleteRequest is preferable to use for aborting a request in an ASP.NET application over Response.End, because it has better performance characteristics. If you’re using Response.End, you’ve probably at one time or another encountered the ThreadAbortException that goes along with it.

The behavior of CompleteRequest changed with 2.0, as Rick describes here. However, the reason why you’ll most likely want to call CompleteRequest rather than Response.End is that, while it still short-circuits the ASP.NET pipeline (jumping immediately to the EndRequest event), it does so without throwing a ThreadAbortException.

(thanks to Stefan Schackow for this tip)

If you liked this post, consider subscribing to email updates about my new posts, or sharing it on Hacker News.

Keyboard shortcuts

?
Show this help
Esc
Close this help or an open menu
n
Next (newer) post: Where Are The Developer Machines?
p
Previous (older) post: Stir Trek Event in Columbus Ohio
Tab
Move between links and buttons (Shift+Tab to go back)