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

原因:
使用了Response.End()方法,该方法会执行Thread.CurrentThread.Abort()操作,如果将Response.End()放在try-catch中,将会捕捉到Thread.CurrentThread.Abort()产生的ThreadAbortException 异常。

Response.End()方法:将当前所有缓冲的输出发送到客户端,停止该页的执行,并引发 EndRequest 事件。不会继续执行后面的代码。

对于一次的http request,web服务器会返回流。若不采用Response.End()结束,则会返回一整个页面,而得不到所需要的结果。

解决方案:可采用以下两种方法解决

1、在catch中排除ThreadAbortException异常,示例代码:

try
{Response.Write("Hello!");Response.End();
}
catch (System.Threading.ThreadAbortException)
{
}
catch (Exception ex)
{Response.Write(ex);
}

View Code

2、用Context.ApplicationInstance.CompleteRequest()结束当前请求(会继续执行后面的代码),示例代码:

protected void Page_Load(object sender, EventArgs e)
{try{Response.Write("Hello world!");this.Page.Visible = false;Context.ApplicationInstance.CompleteRequest();}catch (Exception ex){Response.Write(ex);}
}

View Code

转载于:https://www.cnblogs.com/luswei/p/6485119.html

Visual Studio报错:由于代码已经过优化或者本机框架位于调用堆栈之上,无法计算表达式的值...相关推荐

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

    今天项目中碰到一个以前从没有见过的异常信息"由于代码已经过优化或者本机框架位于调用堆栈之上,无法计算表达式的值",于是查了一下资料,原来此异常是由于我在代码中使用了"Re ...

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

    原因 如果使用 Response.End.Response.Redirect 或 Server.Transfer 方法,将出现 ThreadAbortException 异常.您可以使用 try-ca ...

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

    原因: 如果使用 Response.End.Response.Redirect 或 Server.Transfer 方法,将出现 ThreadAbortException 异常.您可以使用 try-c ...

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

    在一般处理程序中执行 context.Response.End()方法会报出:"由于代码已经过优化或者本机框架位于调用堆栈之上,无法计算表达式的值"这个异常. 对于这个异常微软有解 ...

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

    看MS给的解决方案:(http://support.microsoft.com/kb/312629/ ) 症状:如果使用 Response.End.Response.Redirect 或 Server ...

  6. Visual Studio报错解决方案:对路径...的访问被拒绝cmd.exe已退出,代码为3

    错误描述: 在将一台电脑上建立的项目或解决方案拷贝到另一台电脑上使用时,当项目内部有需要访问的路径时,有时会出现对路径访问被拒绝的问题,类似于如下情况: 之前遇到这种情况之后上网搜寻了各种办法,试了一 ...

  7. visual studio报错:error C4996: ‘scanf‘

    文章目录 前言 原因 解决方法 方法一:使用scanf_s 方法二:在include前面添加宏定义,注意是在最前面添加,如下图 方法三:添加头部文件,在include前后皆可 方法四:找到newc++ ...

  8. VisualGDB导致Visual Studio报错:未能从程序集Package.LanguageService中加载类型xxx

    文章目录 0. 前言 1. 出现这个问题的具体报错 2.解决方法 3.具体激活过程 到此为止,VisualGDB激活完成,同时作者不欢迎把激活器转到需要积分才能下载的地方去,请切勿干这件事情 要是觉得 ...

  9. vs调试时报错:变量已被优化掉,因而不可用

    前言 使用vs运行程序时,发现不是每次运行的结果都一致,抛开多线程的因素.比方说我用openGL加载骨骼动画数据,有时候能加载出骨骼纹理,有时候就不行,很头疼,在调试问题的时候就遇见vs调试器报错:变 ...

  10. VSCode 报错preLaunchTask“g++”已终止,退出代码为 1 一例的解决方案

    VSCode 报错preLaunchTask"g++"已终止的解决方案 搞了好半天配置发现vscode报错,preLaunchTask"g++"已终止,退出代码 ...

最新文章

  1. python电脑下载网址-python下载文件文件到本地电脑(基于requests)
  2. 【sping揭秘】9、容器内部事件发布(二)
  3. 转载:QT图形视图框架(The Graphics View Framework)
  4. jquery ajax设置头部,jQuery Ajax 设置请求头
  5. MFC获得主窗口和父窗口指针
  6. NYOJ 6 喷水装置(一)
  7. 2018年手机摄像头模组市场调研报告
  8. MySQL字段类型详解
  9. 使用js切割URL的参数
  10. 深度学习常见的基本概念整理
  11. ubuntu和ok6410开发板之间架设nfs
  12. redis删除不存在的key会报错吗_Redis哈希类型
  13. 格式工厂 wav 比特率_格式转换不知道用哪款软件好,有格式工厂就够了!
  14. 计算机分磁盘,磁盘分区怎么分
  15. matlab 傅立叶变换去噪
  16. 自动量程万用表的实现原理_自动量程万用表各个按钮的含义?
  17. 2019年DNS服务器速度排行榜
  18. android 接口实现方法,Android应用开发之Android 请求网络接口实现方法
  19. TokenGazer评级丨TRON:BTT众筹谋求熊市破局,生态繁荣但数据受到质疑
  20. 数学向量 java,数学向量和旋转(Topdown java game dev – physics problem)

热门文章

  1. 查看dll是32还是64
  2. 使用之后,谈谈国产芯片的体验
  3. VS:无法将“char *”转换为“const wchar_t *”/不能将参数从“const char []”转换为“const wchar_t *”
  4. LINUX获得当前用户名
  5. 人工智能不是替代人,而是辅助人
  6. 放生切勿盲目,放生动物要有选择
  7. 安卓图片自适应的解决办法
  8. cve2018 linux内核提权漏洞,CVE-2018-18955:较新Linux内核的提权神洞分析
  9. java import list_Java中的List集合
  10. php json schema,json-schema-php