【.Net码农】Asp.Net异常:"由于代码已经过优化或者本机框架位于调用堆栈之上,无法计算表达式的值"的解决方法
2015-09-07 17:07
1386 查看
/article/5294420.html
异常: 由于代码已经过优化或者本机框架位于调用堆栈之上,无法计算表达式的值
原因:
如果使用 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);
绿色通道: 好文要顶
关注我
收藏该文与我联系
凡夫·俗子
关注 - 12
粉丝 - 19
+加关注
4
0
Asp.Net异常:"由于代码已经过优化或者本机框架位于调用堆栈之上,无法计算表达式的值"的解决方法
今天项目中碰到一个以前从没有见过的异常信息“由于代码已经过优化或者本机框架位于调用堆栈之上,无法计算表达式的值”,于是查了一下资料,原来此异常是由于我在代码中使用了"Response.End();"而引发的。解决方法如下:异常: 由于代码已经过优化或者本机框架位于调用堆栈之上,无法计算表达式的值
原因:
如果使用 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);
绿色通道: 好文要顶
关注我
收藏该文与我联系
凡夫·俗子
关注 - 12
粉丝 - 19
+加关注
4
0
相关文章推荐
- ASP.NET后台JS弹框使前台页面样式丢失 解决办法
- ASP彩信接口开发经验及具体开发实现
- Aspose.words编程指南之DocumentBuilder一
- Asp.net中CheckBox控制GridView
- Aspose.Words for .NET如何替换或修改超链接
- Aspose.Words for .NET如何替换或修改超链接
- c#、.net、asp.net、asp 、ado.net、.net framework的区别
- asp.net MVC 中枚举创建下拉列表?
- 转:[ASP.NET]重構之路系列v4 – 簡單使用interface之『你也會IoC』
- ASP.NET常用小技巧
- ASP.NET权限管理
- ASP.NET MVC5添加验证(4)
- How to get web session on Spring AspectJ
- ASP.NET Identity 身份验证和基于角色的授权
- Raspberry Pi Kernel Compilation 内核编译官方文档
- 关于 ASP.NET 中的 Bundle 的补充说明(草稿)
- ASP.NET MVC 随想录——探索ASP.NET Identity 身份验证和基于角色的授权,中级篇
- ASP.NET应用程序与页面生命周期
- asp.net mvc使用gzip压缩
- Asp.Net 之 WebService部署到服务器后出现" The test form is only available for requests from the local machine "