This blog post explains in detail the endResponse
situation. In short, the behavior of terminating the thread after a redirect was considered a design error, something that is detrimental to the efficiency of ASP but has been maintained for compatibility issues. The recommended method for new code is to always use false
, never use true
or nothing (ie use the version without the second parameter - which defaults to true
).
If you want to finish rendering after this redirect (that is, there's nothing useful for your code to do next) use Context.ApplicationInstance.CompleteRequest()
.
Does this mean that when I perform a page redirect (page mute) the previous page is still taking up space somewhere?
The thread used to render the previous page still exists somewhere, and can be reused to serve future requests. If you use endResponse true
this thread is destroyed and recreated (costly operation), hence the performance problem.