Response.Redirect 产生的“正在中止线程”错误
2015-12-30 11:42
225 查看
Response.Redirect 产生的“正在中止线程”错误
今天在开发调试过程中,出现在一个 "正在中止线程"异常信息。 调用Response.Redirect()方法产生的,虽然知道是线程的问题, 但是不知为何 Redirect会出现这样的错误,以前是没有碰到过, 在狂baidu,Google了一下后,才发现MS早就解决了这个问题,但提供了解决方法。 异常
如果使用 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 ("MicroscopeList.aspx", false);
记录一下此错误,前进的脚步中少不了的痕迹
今天在开发调试过程中,出现在一个 "正在中止线程"异常信息。 调用Response.Redirect()方法产生的,虽然知道是线程的问题, 但是不知为何 Redirect会出现这样的错误,以前是没有碰到过, 在狂baidu,Google了一下后,才发现MS早就解决了这个问题,但提供了解决方法。 异常
如果使用 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 ("MicroscopeList.aspx", false);
记录一下此错误,前进的脚步中少不了的痕迹
相关文章推荐
- Lucene的数值索引以及范围查询
- JAVA设计模式之:代理模式--静态代理
- Android studio导入项目时常见问题
- 使用Gradle管理Debug/Release版本的Key
- 大话设计模式之建造者模式(生成器模式) 建造队与指挥者的纠缠
- 对比iOS网络组件:AFNetworking VS ASIHTTPRequest
- CoreAnimation学习(图层)
- 简单地新闻头条滚动效果
- 性能测试中的2-5-8原则
- XML类似的解析时,会遇到'XXX' 不是 'NCName' 的有效值的问题
- Spring控制器接收Json数组——工具Gson
- cRuntime函数之(getenv_s)
- Gson使用心得(二):Map反序列化的一个陷阱
- 用PUSHD/POPD获得bat文件执行的路径
- HTML+CSS
- 5-2 然后是几点
- php return的使用
- delphi中INI 文件的创建与使用
- 详解PHP中的null合并运算符
- [python] 专题八.多线程编程之thread和threading