In the past two days, exceptions of ThreadAbortException will always appear during development and debugging.
The exception is caused by Response. although the Redirect method produces a thread problem, I don't know why Redirect has such an error. I haven't encountered it before. I just encountered it when I transferred it to Asp.net 2.0 for development.
After a click on Google, MS discovered this problem long ago, but provided a solution. The following is a summary of the main information:
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 page execution and switches this execution to the Application_EndRequest event in the event pipeline of the application. Do not execute the code line after Response. End.
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. Example: Response. Redirect ("nextpage. aspx", false );
B-E-A-utiful! This is simple. The problem is solved. Thank you, Microsoft, GOOGLE, and God!
Now I have posted the solution to help more people solve similar problems encountered during the development process. I will search for the solution to the end!