zoukankan      html  css  js  c++  java
  • 关于在 System.Threading.ThreadAbortException 中第一次偶然出现的“mscorlib.dll”类型的异常(转)

    一直以来都在调试结束的时候看到这个错误信息,但并不影响正常运行,于是找了找原因:
    开发环境为VS2005,OS 为Windows 2003,系统登录后在跳转到另一页面时会报此错误:

    在 System.Threading.ThreadAbortException 中第一次偶然出现的“mscorlib.dll”类型的异常
    “System.Threading.ThreadAbortException”类型的异常在 mscorlib.dll 中发生,但未在用户代码中进行处理

    但不影响程序的正常运行。于是在网上查了查,发现相关资料不多。后来找到微软的官方解释,搞定。
    --------------------------------------------------------------------------------------------------------------

    症状

    如果使用 Response.EndResponse.Redirect Server.Transfer 方法,则出现 ThreadAbortException 异常。 可使用 try-catch 语句捕捉此异常。

    原因

    Response.End 方法停止页的执行,并将该执行变换到应用程序的事件管线中的 Application_EndRequest 事件。 Response.End 后面的代码行将不执行。



    此问题出现在 Response.Redirect Server.Transfer 方法中,这是由于这两种方法都在内部调用 Response.End

    解决方案

    若要解决此问题,请使用下列方法之一:
    • 对于 Response.End,调用 ApplicationInstance.CompleteRequest 方法而不调用 Response.End,以便跳过 Application_EndRequest 事件的代码执行。
    • 对于 Response.Redirect,使用重载 Response.Redirect(String url, bool endResponse),对 endResponse 参数它传递 false以取消对 Response.End 的内部调用。例如:
        Response.Redirect ("nextpage.aspx", false);
      如果使用这种解决方法,Response.Redirect 后面的代码将得到执行。
    • 对于 Server.Transfer,请改用 Server.Execute 方法。

    状态

    这种现象是设计使然。
  • 相关阅读:
    jsp下载文件方法
    关于java控制台输入(转载)
    java数据结构表的学习
    一个简单的java读取网页图片并保存图片的程序
    (转)Java中toArray的用法探究(java数组与list转换)
    点击空白处隐藏div
    H5页面IOS将数字识别成蓝色
    css的公共样式(移动端使用rem做单位)
    HTML5 虚拟键盘出现挡住输入框的解决办法
    解决ios下不兼容keyup,keydown等事件
  • 原文地址:https://www.cnblogs.com/yanxiaodi/p/2296478.html
Copyright © 2011-2022 走看看