Response.Redirect 产生的“正在中止线程”错误 今天在开发调试过程中,出现在一个 "正在中止线程"异常信息. 调用Response.Redirect()方法产生的,虽然知道是线程的问题, 但是不知为何 Redirect会出现这样的错误,以前是没有碰到过, 在狂baidu,Google了一下后,才发现MS早就解决了这个问题,但提供了解决方法. 异常 如果使用 Response.End.Response.Redirect 或 Server.Transfer 方法,将出现 T…
#[操作记录]:2010-02-23 9:25:12  System.Threading.ThreadAbortException: 正在中止线程. 症状 如果使用 Response.End.Response.Redirect 或 Server.Transfer 方法,将出现 ThreadAbortException异常.您可以使用 try-catch 语句捕获此异常.   原因 <!-- Inject Script Filtered --> Response.End 方法终止页的执行,并将此…
最近做的系统中老出现的一些问题不太明白,在使用 Response.End.Response.Redirect 或 Server.Transfer 时出现 ThreadAbortException , 本来系统是没有问题的,在保存数据时也可以正常,本来使用try-catch 语句是用来捕获一异常情况的,但系统正常,老捕获到下面的东西 ##[操作记录]:2007-11-23 9:25:12  System.Threading.ThreadAbortException: 正在中止线程.    在 Sy…
项目中出现“正在中止线程”问题,百度后台发现,都是因为用到Response.End.Response.Redirect 或 Server.Transfer 方法. 原因: Response.End 方法终止页的执行,并将此执行切换到应用程序的事件管线中的 Application_EndRequest 事件,不执行 Response.End 后面的代码行. 而 Response.Redirect 和 Server.Transfer 方法均在内部调用 Response.End. 解决方法: Http…
导出Excel相信很多人都用过,但是我却遇到了一个问题 “正在中止线程” 源代码如下: public static void ExportExcel(string fileName, GridView gvMain)        {            //当前对话             System.Web.HttpContext curContext = System.Web.HttpContext.Current;            //IO用于导出并返回excel文件     …
介绍: 我正在评估一个 ASP.NET Web 项目应用.它有一些可扩展性问题.意味着当网站访问量增加的时候.系统将会变得缓慢.当我查看应用日志.我找到了大量的 ThreadAbortException. 这个应用大量的使用了 Response.Redirect (是的 endResponse= true),这个就是可扩展性问题的根源.通过endResponse = false 在Response.Redirect将会解决这个问题. 但这样做会导致应用程序出现一些奇怪的问题.因为应用程序将假设在…
这篇文章主要介绍了如何高效的使用 Response.Redirect解决一些不必要的问题,需要的朋友可以参考下 介绍: 我正在评估一个 ASP.NET Web 项目应用.它有一些可扩展性问题.意味着当网站访问量增加的时候.系统将会变得缓慢.当我查看应用日志.我找到了大量的 ThreadAbortException. 这个应用大量的使用了 Response.Redirect (是的 endResponse= true),这个就是可扩展性问题的根源.通过endResponse = false 在Re…
我正在评估一个 ASP.NET Web 项目应用.它有一些可扩展性问题.意味着当网站访问量增加的时候.系统将会变得缓慢.当我查看应用日志.我找到了大量的 ThreadAbortException. 这个应用大量的使用了 Response.Redirect ,这个就是可扩展性问题的根源.通过endResponse = false 在Response.Redirect将会解决这个问题. 但这样做会导致应用程序出现一些奇怪的问题.因为应用程序将假设在 Response.Redirect 将在当前页面停…
google后得知:Response.End 方法终止页的执行,并将此执行切换到应用程序的事件管线中的 Application_EndRequest 事件,同时抛出ThreadAbortException 异常,异常信息为“正在中止线程”. 解决方案要解决此问题,请使用下列方法之一:  对于 Response.End,调用 HttpContext.Current.ApplicationInstance.CompleteRequest 方法而不是 Response.End 以跳过 Applicat…
问题描述:正在中止线程问题原因:Response.End 方法终止页的执行,并将此执行切换到应用程序的事件管线中的 Application_EndRequest 事件.不执行 Response.End 后面的代码行.解决方案要解决此问题,请使用下列方法之一: ? 对于 Response.End,调用 HttpContext.Current.ApplicationInstance.CompleteRequest 方法而不是 Response.End 以跳过 Application_EndReque…
最近做了一个项目其中使用了多线程获取POST过来的数据后再Response回复,但由于是多线程,在Response.End()的时候报出了异常: 2013-10-20 10:05:31,606 responseText - at System.Threading.Thread.AbortInternal() at System.Threading.Thread.Abort(Object stateInfo) at System.Web.HttpResponse.End() 后来在微软的Suppo…
记录一下,提醒自己. 今天写代码的时候,在try 中写了一句  Response.Redirect 在 catch 把页面重定向到了另外一个地方 本来是想打算,如果没出现异常,就定到页面A,如果异常了就定到页面b,然后发现,尼玛怎么样都去了页面b 本来以为是我try代码块中,访问webService出现了什么异常,单步调试了好久,每次都正常没有错误,但是一到 Response.Redirect  就线程终止 搜了一下资料,解决了.以下是一篇说明.很多地方有,不知道出处了. 如果使用 try .c…
FileHandler http://www.cnblogs.com/vipsoft/p/3627709.html UpdatePanel无法导出下载文件: http://www.cnblogs.com/vipsoft/p/3298299.html //相对路径下载.path: ~/DownLoad/ //<add key="DownLoadPath" value="~/DownLoad/"/> public static bool DownLoadFi…
参考:http://www.cnblogs.com/chendaoyin/archive/2013/06/27/3159211.html 1.开启一个子线程 //开启一个子线程,子线程调用方法 Method Thread th = new Thread(Method); th.IsBackground = true; th.Start(); 2.线程处理函数 public void Method() { try { } catch(Exception ex) { MessageBox.Show(…
在 System.Threading.ThreadAbortException 中第一次偶然出现的"mscorlib.dll"类型的异常 "System.Threading.ThreadAbortException"类型的异常在 mscorlib.dll 中发生,但未在用户代码中进行处理 但不影响程序的正常运行.于是在网上查了查,发现相关资料不多.后来找到微软的官方解释,搞定. --------------------------------------------…
出现“正在中止线程”异常通常都是由于以下三种原因导致引起,给出解决方案如下: 解决方案: 1.针对Response.End,调用 HttpContext.Current.ApplicationInstance.completeRequest() 方法而不是 Response.End 以跳过 Application_EndRequest 事件的代码执行. 2.针对Response.Redirect,请使用重载 Response.Redirect(String url, bool endRespon…
现象: 最近做的一个系统通过单点登录(SSO) 技术验证用户登录.用户在SSO 系统上通过验证后,跳转到该系统的不同模块.而跳转的时间一直维持子啊几分钟左右. 分析步骤: 在问题复现时抓取Hang dump 进行分析: 1) 找到用户登陆的调用堆栈 0:071> kb RetAddr           : Args to Child                                                           : Call Site 000007fe`f8…
现象: 某系统通过单点登录(SSO) 技术验证用户登录.用户在SSO 系统上通过验证后,跳转到某系统的主页上面.而跳转的时间很长,约1分钟以上. 分析步骤: 在问题复现时抓取Hang dump 进行分析: 1) 找到用户登陆的调用堆栈 0:071> kb RetAddr           : Args to Child                                                           : Call Site 000007fe`f81889e5…
最近做接口对接,因需求变化需要用到异步推送信息,就利用委托做了异步. 程序运行过程中时不时出现“正在终止线程”的错误信息,导致两边订单信息不一致,代码如下: byte[] byteData = Encoding.UTF8.GetBytes(parameters); HttpWebResponse response=null; Stream myResponseStream = null; Stream myRequestStream = null;try { var request=(HttpW…
背景: Asp.Net做的一个同步程序,同步的方法是通过JQuery的Ajax调用,同步过程大概要执行20多分钟,程序部署到服务器后执行一段时间后就弹出执行失败的对话框,日志记录的错误信息是“正在中止线程”. 查错过程: 1.根据“AspNet 正在中止线程“进行搜索,得到的结果基本都是跟”Response.End“有关的,但我的代码中没有Response.End,所以基本可以排除: 2.因为使用JQuery的Ajax,所以猜想会不会是因为Ajax超时导致,修改代码将返回状态弹出: 发现返回的s…
asp.net做的一个同步程序,同步的方法是通过JQuery的Ajax调用,同步过程所需要的时间大概有几个小时吧. 当在本机运行的时候,无论是debug模式还是release模式,都能正常运行. 发布到服务器上的时候,如果是debug配置,也能正常运行:如果是release配置,执行一段时间就不动了(出问题了):如果发布的时候选择的是release,然后再把发布的Webconfig中的compilation节点加上debug=“true”,也能正常运行. 可是发布到服务器上的程序怎么能让它是de…
在ASP.NET中,在后台传值方式目前大多都是用 Response.Redirect("页面地址") 来重定向页面的,但是现在还有一种方式也可以达到重定向页面的作用,而且在某些时刻会起到一种很棒的效果,那就是使用 Server.Transfer("页面地址") 来重定向地址. 现在我们来详细了解一下这两种重定向页面地址的用法和区别: Response.Redirect :Response.Redirect 会将地址输出至浏览器,执行重定向操作.但是请注意,在程序执行…
错误现象:Response.Redirect(Server.MapPath("BackIndex.aspx")); 打断点测试执行了这一句,Server.MapPath("BackIndex.aspx")路径也没问题,网上有说webconfig配置了登录验证,改了<authentication mode="None">后,仍然不跳转页面,抓狂!!! 解决方法:去掉Server.MapPath,直接使用Response.Redirect…
博客后台切换至i.cnblogs.com之后,在日志中发现大量的“无法在发送HTTP标头之后进行重定向”(Cannot redirect after HTTP headers have been sent)的错误信息. 检查代码发现问题是由下面的代码触发的: IHttpHandler IHttpHandlerFactory.GetHandler(HttpContext context, string requestType, string url, string pathTranslated)…
Server.Transfer,Response.Redirect的区别 如果你读过很多行业杂志和 ASP.NET 示例,你会发现,大多数人使用 Response.Redirect 将用户引导到另一个页面,而另一些人好像偏爱于神秘的 Server.Transfer,那么,这二者有什么区别? Response.Redirect 简单地发送一条消息到浏览器,告诉浏览器定位到另一个页面.你可以使用下面的代码将用户引导到另一个页面: Response.Redirect("WebForm2.aspx&qu…
URL:http://blog.163.com/asp_neter/blog/static/17510918820107258107558/ 错误出现语句:“Response.Redirect("diaryRun.aspx");“: 错误处理方式: 1:“Server.Transfer("diaryRun.aspx");“ 结果:页面能够顺利跳转但是URL地址不变. 2:public static void open(System.Web.UI.Page page,…
执行过程: 1.浏览器ASP文件请求->服务器执行->遇到response.redirect语句->服务器发送response.redirect后面的地址给客户机端的浏览器->浏览器请求执行新的地址 2.浏览器ASP文件请求->服务器执行->遇到Server.Transfer语句->服务器转向新的文件 切换对象: 1.Response.Redirect可以切换到任何存在的网页. 2.Server.Transfer只能切换到同目录或者子目录的网页. 数据保密: 1.…
报错如下: System.Threading.ThreadAbortException: Thread was being aborted. at System.Threading.Thread.AbortInternal() at System.Threading.Thread.Abort(Object stateInfo) at System.Web.HttpResponse.End() 可以 try-catch 一下具体线程报错: catch (ThreadAbortException)…
我在首页的位置使用了如下代码: import flask @page_index.route('/') def index(): flask.redirect('/pythoncgi/') 结果站点出现以下错误: [11/Nov/2019 15:03:01] "GET / HTTP/1.1" 500 - Traceback (most recent call last): File "/usr/local/lib64/python3.6/site-packages/flask…
如果内网和外网的端口号设置的不相同,那在使用Response.Redirect跳转的时候会无法成功.需要做以下设置: <system.web> <httpRuntime useFullyQualifiedRedirectUrl="false" maxRequestLength="2526" requestLengthDiskThreshold="2526"/> </system.web>…