Fought this a few years ago, was getting a
ThreadAbort Exception.
Option 1 is to wrap it in a
Try...Catch
block and ignore it. Generally I do not catch exceptions and ignore, but this case is special
try { Response.Redirect(url); }
catch (ThreadAbortException) {}
Option 2 is to allow the thread to continue executing after the redirect, best to do the redirect as the last part of a process. Otherwise there could be performance impacts.
Response.Redirect(url, false);
Context.ApplicationInstance.CompleteRequest();