PRB: threadabortexception occurs when response. End, response. Redirect, or server. Transfer is used.
Symptom
If you use the response. End, response. Redirect, or server. transfer method, a threadabortexception exception occurs. You can use the try-catch statement to catch this exception.
Cause
The response. End method terminates the execution of the page and switches the execution to the application.ProgramApplication_endrequest event in the event pipeline. Do not executeCodeLine.
This problem occurs in the response. Redirect and server. transfer methods, because both methods call response. End internally.
Solution
To solve this problem, use one of the following methods: • for response. End, call httpcontext. Current. applicationinstance. completerequest instead of response. End to skip the code execution of the application_endrequest event.
• For response. Redirect, use the overload response. Redirect (string URL, bool endresponse). This overload will pass false to the endresponse parameter to cancel internal calls to response. End. For example:
Response. Redirect ("nextpage. aspx", false );
If this alternative method is used, the Code following response. Redirect is executed.
• For server. Transfer, use the server. Execute method.
After testing, response. end can normally terminate the server and continue to output the content to the browser.