Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Response.redirect raises "Thread was being aborted"

Tags:

iis

vb.net

I've a VB.NET code called when I need to delete an object from DB. On Page_load I check if it's not post back (to prevent a manual refresh) and, after the deletion of the object I redirect to the caller page using Response.redirect. At this point my code raise an

exception:EXCEPTION OCCURS In File_delete.aspx.vb Line Number: 34 Error Message: Thread was being aborted.

and, on Event Viewer I can see that aspnet_wp.exe crashes:

aspnet_wp.exe (PID: 1532) stopped unexpectedly.

For more information, see Help and Support Center at http://go.microsoft.com/fwlink/events.asp.

It's not clear why this happens only here because I use the response.redirect also to view the file and not only to delete it.

like image 501
Andrea Girardi Avatar asked Feb 02 '11 13:02

Andrea Girardi


People also ask

What is response redirect in ASP NET?

Response. Redirect sends an HTTP request to the browser, then the browser sends that request to the web server, then the web server delivers a response to the web browser. For example, suppose you are on the web page "UserRegister. aspx" page and it has a button that redirects you to the "UserDetail.


2 Answers

By default, Response.Redirect() aborts the current thread. Naturally, this throws a ThreadAbortException. It can be prevented by passing a false to Response.Redirect(), which won't abort the current thread.

Be aware of what that means, however. If the thread is not aborted, the code following the Response.Redirect() will continue to execute. Control your logic flow accordingly. (This is often done with return statements and other flow control directives following a redirect.)

like image 58
David Avatar answered Oct 02 '22 04:10

David


Response.Redirect will always throw a ThreadAbortException, according to MSDN documentation if you don't give a false boolean value to endResponse input parameter HttpRequest.Redirect(string, bool).

Just give false to endResponse parameter.

like image 44
Matías Fidemraizer Avatar answered Oct 02 '22 04:10

Matías Fidemraizer