>Hi
>I tried the suggestion
>
>
>For Response.End, call the HttpContext.Current.ApplicationInstance.CompleteRequest method
>instead of Response.End to bypass the code execution to the Application_EndRequest event.
>For Response.Redirect, use an overload, Response.Redirect(String url, bool endResponse) that
>passes false for the endResponse parameter to suppress the internal call to Response.End. For example:
>
>
>The problem is, HttpContext.Current.ApplicationInstance.CompleteRequest doesn't actually stop the execution. The rest of code (same layer or caller layer( after this method call will be still been executed, which I don't want to.
So return after CompleteRequest() ?
>For Response.Redirect(String url, bool endResponse), it will still cause caller method able to catch ThreadAbortedException.
Not sure what you mean. Response.Redirect("somewhere",false) doesn't throw the ThreadAbortException.
>Most importantly, my redirect method would be called during callback. Which Response.Redirect() would not work.
Again not sure of your problem. What do you mean by 'callback' ?