【.NET】由于代码已经过优化或者本机框架位于调用堆栈之上,无法计算表达式的值。
前言
上段时间做项目时,遇到如题之类问题,如今过去有一段时间了,具体出现的情形忘了,当时虽然找到了解决方法,但是依旧没有弄明白出现此种情况是何种原因,后来在微软的帮助支持中心找到了答案,特此记录,以防遗忘。
症状
使用Response.End(), Response.Redirect()或Server.Transfer()方法,将引发ThreadAbortException 异常,可以使用try-catch语句来捕捉此异常。项目中Response.Redirect()用户登录成功跳转某页面,失败跳转某页面(中间有双开,登录超时等等验证)。运行报错:由于代码已经过优化或者本机框架位于调用堆栈之上,无法计算表达式的值。
原因
Response.End():结束页执行和将执行切换到应用程序的事件管道中的Application_EndRequest事件,Response.End()之后的代码行不会被执行;
Response.Redirect()和Server.Transfer()这两种方法都会内部调用Response.End();
解决方案
- 调用HttpContext.Current.ApplicationInstance.CompleteRequest方法,能够绕过Application_EndRequest事件的代码执行。
- 对于Response.Redirect(),使用重载,取消内部调用Response.End的endResponse参数(url 字符串、 布尔值 endResponse) 。例如:
Response.Redirect ("xxxpage.aspx", false);- 对于Server.Transfer(),可以改用Server.Execute()方法。
【.NET】由于代码已经过优化或者本机框架位于调用堆栈之上,无法计算表达式的值。的更多相关文章
- Asp.Net异常:"由于代码已经过优化或者本机框架位于调用堆栈之上,无法计算表达式的值"的解决方法
今天项目中碰到一个以前从没有见过的异常信息“由于代码已经过优化或者本机框架位于调用堆栈之上,无法计算表达式的值”,于是查了一下资料,原来此异常是由于我在代码中使用了"Response.End ...
- asp.net出现的异常:"由于代码已经过优化或者本机框架位于调用堆栈之上,无法计算表达式的值" 的解决方法
引用: https://support.microsoft.com/zh-cn/kb/312629 症状 如果您使用的Response.End. Response.Redirect或Server.Tr ...
- [Bug]由于代码已经过优化或者本机框架位于调用堆栈之上,无法计算表达式的值"的解决方法(转)
原因 如果使用 Response.End.Response.Redirect 或 Server.Transfer 方法,将出现 ThreadAbortException 异常.您可以使用 try-ca ...
- ASP.NET中一般处理程序报的错误:由于代码已经过优化或者本机框架位于调用堆栈之上,无法计算表达式的值
1.把context.Response.End();代码换成 HttpContext.Current.ApplicationInstance.CompleteRequest(); 2.把context ...
- 异常:Data = 由于代码已经过优化或者本机框架位于调用堆栈之上,无法计算表达式的值。
做项目的时候,将DataTable序列化成Json,通过ashx向前台返回数据的时候,前台总是获取不到数据,但是程序运行却没问题, 没抛出异常.一时找不到办法,减小输出的数据量,这时前台可以接收到页面 ...
- C# 由于代码已经过优化或者本机框架位于调用堆栈之上,无法计算表达式的值。这个错误是什么原因引起的?
C# 由于代码已经过优化或者本机框架位于调用堆栈之上,无法计算表达式的值.这个错误是什么原因引起的? 2011-12-17 22:45 提问者: 匿名|浏览次数:6056次 我来帮他解答 图片 符号 ...
- Page 由于代码已经过优化或者本机框架位于调用堆栈之上
Page.Response.Clear(); Page.Response.Write("<script type=\"text/javascript\& ...
- asp.net 由于代码已经过优化或者本机框架位于调用堆栈之上,无法计算表达式的值
看MS给的解决方案:(http://support.microsoft.com/kb/312629/ ) 症状:如果使用 Response.End.Response.Redirect 或 Server ...
- 由于代码已经过优化或者本机框架位于调用堆栈之上,无法计算表达式的值。System.Threading.ThreadAbortException
第一次遇到这样的错误 错误语法 try{ Response.Redirect("aa.aspx"); }catch (Exception ex){ Response.Redirec ...
随机推荐
- ASP.NET Core 基础知识(四) Startup.cs类
ASP.NET Core应用程序需要一个启动类,按照约定命名为Startup.在 Program 类的主机生成器上调用 Build 时,将生成应用的主机, 通常通过在主机生成器上调用 WebHostB ...
- Luogu P4331 [BOI2004]Sequence 数字序列 (左偏树论文题)
清晰明了%%% Fairycastle的博客 个人习惯把size什么的存在左偏树结点内,这样在外面好写,在里面就是模板(只用修改update). 可以对比一下代码(好像也差不多-) MY CODE # ...
- 洛谷-P3805-Manacher模板
链接: https://www.luogu.org/problem/P3805 题意: 给出一个只由小写英文字符a,b,c...y,z组成的字符串S,求S中最长回文串的长度. 字符串长度为n 思路: ...
- Vue上传通过“服务端签名后直传”上传文件到阿里云 报错 400 Bad Request
我报错的原因是 formData.append('file', file) 放在签名前面了 解决办法 formData.append('file', file) 一定在最后 /** * 上传文件到 o ...
- 开始学习shell
运行shell脚本有两种方法: 作为可执行程序,假如在某个目录下,编写了一个shell脚本test.sh,想要执行这个脚本,就需要先cd进入脚本所在目录, chmod +x ./test.sh # 是 ...
- composer.json文件解读
composer.json文件内容 laravel { "name": "laravel/laravel", //name 表示包的名称,由作者名和项目名组成, ...
- 《剑指offer》算法题第八天
今日题目(对应书上第39~42题): 数组中出现次数超过一半的数字 最小的k个数(top k,重点!) 数据流中的中位数 连续子数组的最大和 今天的题目都比较经典,特别是第2题. 1. 数组中出现次数 ...
- Word:高亮显示文档中的所有英文字符
造冰箱的大熊猫,本文适用于Microsoft Office 2007@cnblogs 2019/4/2 文中图片可通过点击鼠标右键查看大图 1.场景 某天在阅读一个中英文混编的Word文档时,希望将 ...
- 1012 最大公约数和最小公倍数问题 2001年NOIP全国联赛普及组
1012 最大公约数和最小公倍数问题 2001年NOIP全国联赛普及组 时间限制: 1 s 空间限制: 128000 KB 题目等级 : 白银 Silver 题目描述 Description 输入二个 ...
- 使用fiddler实现手机抓包
手机上无法直接查看网络请求数据,需要使用抓包工具.Fiddler是一个免费的web调试代理,可以用它实现记录.查看和调试手机终端和远程服务器之间的http/https通信. fiddler没有手机客户 ...