ASP.NET"正在中止线程"错误原因
2014-04-22 09:25
417 查看
症状
如果使用 Response.End、Response.Redirect 或 Server.Transfer 方法,将出现 ThreadAbortException 异常。您可以使用 try-catch 语句捕获此异常。
原因
<!-- Inject Script Filtered -->
Response.End 方法终止页的执行,并将此执行切换到应用程序的事件管线中的 Application_EndRequest 事件。不执行 Response.End 后面的代码行。
此问题出现在 Response.Redirect 和 Server.Transfer 方法中,因为这两种方法均在内部调用 Response.End。
解决方案
要解决此问题,请使用下列方法之一:
如果使用 Response.End、Response.Redirect 或 Server.Transfer 方法,将出现 ThreadAbortException 异常。您可以使用 try-catch 语句捕获此异常。
原因
<!-- Inject Script Filtered -->
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); 如果使用此替代方法,将执行 Response.Redirect 后面的代码。 | |
对于 Server.Transfer,请改用 Server.Execute 方法。 |
相关文章推荐
- ASP对数据库的操作方法
- 如何解决ASP.NET网站'__doPostBack' is undefined的脚本错误
- Metasploit学习 一平台简介
- ASP.NET Identity 修改表名和主键类型
- ASP.NET上传文件的三种基本方法
- 项目丝绸导航为ASP.NET Web窗体
- inurl:/inc/conn.asp inurl:/inc+conn.asp to parent directory intext:
- Ext JS With ASP.NET MVC Sample(1)
- ASP.NET MVC 4.0中选择Windows 验证默认出错拒绝访问的原因和解决方案
- ASP.NET生命周期详解
- ASP.net 的URL路由选择(System.Web.Routing.dll)
- ASP.NET 中 Session 实现原理浅析 [1] 会话的建立流程
- 如何做一个高效的ASP数据库操作程序
- ASP.NET中的FILE对象总结
- ASP.NET网站性能优化
- asp.net MVC实现文章的“上一篇下一篇”
- ASP.NET Web - 回送
- ASP.NET Web应用程序修改页面Inherits示例
- 【ASP.NET 插件】分享一个可视化HTML编辑器 CKEditor.NET
- asp程序和php程序转换要注意的问题