0

Hello i am trying to redirect from my current page to another and when it have to redirect me tellme this:

Thread was being aborted.

Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code. 

Exception Details: System.Threading.ThreadAbortException: Thread was being aborted.

Source Error: 

An unhandled exception was generated during the execution of the current web request. Information regarding the origin and location of the exception can be identified using the exception stack trace below.

Stack Trace: 


[ThreadAbortException: Thread was being aborted.]
   System.Web.HttpContext.InvokeCancellableCallback(WaitCallback callback, Object state) +298
   System.Web.Util.<>c__DisplayClass1.<WrapContinuation>b__0() +37
   System.Threading.Tasks.SynchronizationContextAwaitTaskContinuation.<.cctor>b__3(Object state) +37
   System.Web.<>c__DisplayClass7.<Post>b__6() +15
   System.Web.Util.SynchronizationHelper.SafeWrapCallback(Action action) +91

The mistake is on the page and the code that generates is this:

protected void Button1_Click(object sender, EventArgs e)
{
    Response.Redirect("/seller/ven_mainwin/recharge/recharge.aspx");
}
hidura
  • 681
  • 3
  • 11
  • 36
  • 1
    possible duplicate of [Why do I get a thrown exception when I run Response.Redirect()?](http://stackoverflow.com/questions/1364645/why-do-i-get-a-thrown-exception-when-i-run-response-redirect) and [Response.Redirect causes System.Threading.ThreadAbortException](http://stackoverflow.com/questions/2777105/response-redirect-causes-system-threading-threadabortexception/2777204#2777204) – jrummell Feb 13 '13 at 18:37

1 Answers1

1

Response.Redirect will trigger a ThreadAbortException.

This can be safely ignored in a vast majority of cases.

protected void Button1_Click(object sender, EventArgs e)
{
    try{
       Response.Redirect("/seller/ven_mainwin/recharge/recharge.aspx");
    }
    catch (System.Threading.ThreadAbortException e){
      // do nothing. This exception can be ignored. 
    }

}

Joel Fillmore points out that this is the correct design pattern

 Response.Redirect(url, false);
 Context.ApplicationInstance.CompleteRequest();
Community
  • 1
  • 1
Brian Webster
  • 30,033
  • 48
  • 152
  • 225