[Bug]由于代码已经过优化或者本机框架位于调用堆栈之上,无法计算表达式的值"的解决方法(转)

原因

如果使用 Response.End、Response.Redirect 或 Server.Transfer 方法,将出现 ThreadAbortException 异常。您可以使用 try-catch 语句捕获此异常。 Response.End 方法终止页的执行,并将此执行切换到应用程序的事件管线中的 Application_EndRequest 事件。不执行 Response.End 后面的代码行。 此问题出现在 Response.Redirect 和 Server.Transfer 方法中,因为这两种方法均在内部调用 Response.End。

解决方案

要解决此问题,请使用下列方法之一:

• 对于 Response.End,调用 HttpContext.Current.ApplicationInstance.CompleteRequest 方法而不是 Response.End 以跳过 Application_EndRequest 事件的代码执行。

• 对于 Response.Redirect,请使用重载 Response.Redirect(String url, bool endResponse),该重载对 endResponse 参数传递 false 以取消对 Response.End 的内部调用。

例如: Response.Redirect ("nextpage.aspx", false);

原文:http://www.cnblogs.com/linyechengwei/archive/2009/11/18/1605377.html

时间: 2024-10-05 03:32:12

[Bug]由于代码已经过优化或者本机框架位于调用堆栈之上,无法计算表达式的值"的解决方法(转)的相关文章

Asp.Net异常:"由于代码已经过优化或者本机框架位于调用堆栈之上,无法计算表达式的值"的解决方法

PRB: 如果使用 Response.End,Response.Redirect 或 Server.Transfer,ThreadAbortException 发生 解决方案 若要变通解决此问题,请使用下列方法之一: 为Response.End,调用HttpContext.Current.ApplicationInstance.CompleteRequest方法,而不是Response.End能够绕过到Application_EndRequest事件的代码执行. 对于Response.Redir

由于代码已经过优化或者本机框架位于调用堆栈之上,无法计算表达式的值

异常: 由于代码已经过优化或者本机框架位于调用堆栈之上,无法计算表达式的值 原因: 如果使用 Response.End.Response.Redirect 或 Server.Transfer 方法,将出现 ThreadAbortException 异常.您可以使用 try-catch 语句捕获此异常.Response.End 方法终止页的执行,并将此执行切换到应用程序的事件管线中的 Application_EndRequest 事件.不执行 Response.End 后面的代码行.此问题出现在

Page 由于代码已经过优化或者本机框架位于调用堆栈之上

Page.Response.Clear();            Page.Response.Write("<script type=\"text/javascript\">window.frameElement.commonModalDialogClose(1, " + result + ");</script>");            Page.Response.End(); 报错,  Page 由于代码已经过优

1,由于代码已经过优化或者本机框架位于调用堆栈之上,无法计算表达式的值。

ylbtech-Error-WebForm: 由于代码已经过优化或者本机框架位于调用堆栈之上,无法计算表达式的值. {由于代码已经过优化或者本机框架位于调用堆栈之上,无法计算表达式的值.} 1.A,错误代码返回顶部 Tip:{由于代码已经过优化或者本机框架位于调用堆栈之上,无法计算表达式的值.} 1.B,出错原因分析返回顶部 1.C,相关解决方法返回顶部 作者:ylbtech出处:http://ylbtech.cnblogs.com/本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此

Response.End() 由于代码已经过优化或者本机框架位于调用堆栈之上,无法计算表达式的值。

原因: 如果使用 Response.End.Response.Redirect 或 Server.Transfer 方法,将出现 ThreadAbortException 异常.您可以使用 try-catch 语句捕获此异常. Response.End 方法终止页的执行,并将此执行切换到应用程序的事件管线中的 Application_EndRequest 事件.不执行 Response.End 后面的代码行. 此问题出现在 Response.Redirect 和 Server.Transfer

c# 多线程 由于代码已经过优化或者本机框架位于调用堆栈之上,无法计算表达式的值

在网上找到一段解释: 堆栈是用于存放变量和方法,"位于调用堆栈之上",我们可以理解为堆栈里面已经没有变量和方法可以调用了,其实也就是程序已经结束了,堆栈都空了(指针在原本堆栈的外部--之上).放在我的实际场景里面:我开了一个异步去处理一个事件,而主线程并没有等待这个异步就直接结束了,实际上就是主线程关闭了,异步却还在运行,结果就是内存都释放了,异步当然找不到变量了,就报错了. 触发场景:多线程跑大数据量或者很复杂的计算逻辑的时候,执行时间超过20分钟,线程被IIS自动回收了 解决方案:

由于线程停在某个无法进行垃圾回收的点(可能是因为已对代码进行了优化),因此无法计算表达式的值

前段时间在调试代码的过程中,调试器无法跟踪到变量的值并报异常,AnisometryT Cannot evaluate expression because a thread is stopped at a point where garbage collection is impossible, possibly because the code is optimized. 如下图所示: 发现在以上代码的下面,有一个类型的构造方法含有很多个参数: 后查找资料,发现在 .net 3.5 以及32位

Flex builder经常会抛出:进程已终止,没有建立到调试器的连接。error while loading initial content的解决方法

不争气的adobe啊,在经过乔帮主与HTML5的打压,导致了现在好多的AS3程序员都转行了.虽然想抓住移动时代,但是却在性能上不敢恭维.虽然如此但是也促使了,好多AS3开发者拓展自己,甚至通过使用工具把AS3项目转化为html5项目.确实在国内有几家做的比较好的公司:layabox,Egret.仿佛给flash页游开发带来了新生.... 今天在看以前的东西时出现了一个问题,程序在运行的时候总是会抛出错误,错误如下: 进程已终止,没有建立到调试器的连接. error while loading i

code first提示已有打开的与此 Command 相关联的 DataReader,必须首先将它关闭解决方法

使用codefirst查询当然是必不可少的,但有时不小心可能很简单的查询也会导致异常. 下面用codefirst做个示例简单演示下异常发生的场景: var attendlist = db.Database.SqlQuery<AttendCountViewModel>("select STUDENTID,SUM(isnull(REALHOUR,0)) As REALHOUR from ATTEND_LIST where ATTENDDATE='" + geDate + &qu