ASP.NET"正在中止线程"错误原因

转载 2011年01月17日 15:48:00

ASP.NET"正在中止线程"错误原因

症状

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

PRB:在使用 Response.EndResponse.Redirect Server.Transfer 时出现 ThreadAbortException

症状

如果使用 Response.EndResponse.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 ("nextpage.aspx", false);

           

如果使用此替代方法,将执行 Response.Redirect 后面的代码。

     对于 Server.Transfer,请改用 Server.Execute 方法。

 

 

相关文章推荐

ASP.NET"正在中止线程"错误原因

最近做的系统中老出现的一些问题不太明白,在使用 Response.End、Response.Redirect 或 Server.Transfer 时出现 ThreadAbortException , ...

ASP.NET 错误: 您的主机中的软件中止了一个已建立的连接

Q群网:http://www.groupsrecord.com/ “/”应用程序中的服务器错误。 您的主机中的软件中止了一个已建立的连接。 说明: 执行当前 Web 请求期间,出现...

《ASP.NET本质论》 线程基础

线程基础         在单CPU的情况下,显然计算机同时只能执行一个程序,早期的DOS操作系统就是单任务操作系统,在那个年代,我们在运行一个程序的时候,就不能再运行第二个程序,必须退出当...

七天学会ASP.NET MVC (六)——线程问题、异常处理、自定义URL

目录 实验27——添加批量上传选项 关于实验27 实验27存在的问题 解决方法 实验28——解决线程饥饿问题 实验29——异常处理—显示自定义错误页面 关于实...

在ASP.NET中使用IHttpHandler处理请求(如自实现AJAX)时,无法获得Session(或者说是Session 为 null)的原因及解决方法

本文以CSDN以前的一个帖子为线索,结合自己的使用经历,讨论了“使用IHttpHandler得到Session时总是为null”的原因,并给出了解决的方法。
  • lslxdx
  • lslxdx
  • 2011-04-07 20:32
  • 1026

导致ASP.NET站点自动重启的原因

ASP.NET站点有时候会莫名其妙的重启,什么原因导致的却不得而知,经过一番折腾后,我总结了导致ASP.NET站点重启的10个原因 1. 回收应用程序池会导致站点重启,记录的原因是: Hostin...

asp.net 自定义组合控件必须继承INamingContainer接口原因分析

本人也是接触控件开发不就,说的不对的地方欢迎指正。 分两种情况来分析: 1、页面存在多个自定义控件 我们都知道INamingContainer接口功能就是为每一个控件生成唯一的Id,防止页面上存...

导致Asp.Net站点重启的10个原因

Asp.Net站点有时候会莫名其妙的重启,什么原因导致的却不得而知,经过一番折腾后,我总结了导致Asp.Net站点重启的10个原因 1. 回收应用程序池会导致站点重启,记录的原因是: Hostin...

导致Asp.Net站点重启的10个原因

Asp.Net站点有时候会莫名其妙的重启,什么原因导致的却不得而知,经过一番折腾后,我总结了导致Asp.Net站点重启的10个原因 1. 回收应用程序池会导致站点重启,记录的原因是: Hostin...

如何记录asp.net站点重启的原因?

在站点执行Application_End事件中添加记录方法。在Global.asax.cs文件中添加如下代码即可: view sourceprint? 01 ...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)