Home > DeveloperSection > Forums > Unable to evaluate expression because the code is optimized or a native frame is on top of the call stack
Chris S
Chris S

Total Post:48

Points:336
Posted on    October-08-2010 5:00 AM

 ASP.Net ASP.Net 
Ratings:


 1 Reply(s)
 4494  View(s)
Rate this:
In my code I am trying to navigate to other page using

Response.Redirect(Page.ResolveUrl("abc.aspx"))

I am getting the following error

"Unable to evaluate expression because the code is optimized or a native frame is on top of the call stack."

please help me

Thanks,


Alex R
Alex R

Total Post:40

Points:280
Posted on    October-08-2010 5:07 AM

Hi Chris,

This problem occurs in the Response.Redirect and Server.Transfer methods because both methods call Response.End internally which ends the page execution and shifts the execution to the Application_EndRequest event in the application's event pipeline. The line of code that follows Response.End is not executed.

To work around this problem, use one of the following methods:
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: 
  Response.Redirect ("nextpage.aspx", false);      

If you use this workaround, the code that follows Response.Redirect is executed.
For Server.Transfer, use the Server.Execute method instead.



Don't want to miss updates? Please click the below button!

Follow MindStick