web应用中大量ThreadAbortException异常

[ At 7/5/2010 By wukong   0 comments ]

最近做一个基于ajax的web应用界面,界面上有间隔时间刷新数据,数据时通过ajax请求后台的asp.net 返回的字符串,调试过程发现,vs.net 的调试输出窗口不停的出现ThreadAbortException的异常信息。

功能倒是正常,不影响使用,不过看着有异常的确不爽。查阅资料发现,原来是后台asp.net程序输出内容后习惯的用了Response.End()方法造成的。

微软的一个页面上说 Response.End、Response.Redirect 或 Server.Transfer 这些结束会话或者跳转页面的操作,都会造成 ThreadAbortException异常出现。如果想避免这种异常信息出现,可以使用HttpContext.Current.ApplicationInstance.CompleteRequest 替换Response.End()方法,我尝试使用Response.Flush()方法,也是可以的,目的都是要将Response缓冲的数据发送到客户端浏览器嘛。

至于Response.Redirect方法可以重载 Response.Redirect(String url, bool endResponse),该重载对 endResponse 参数传递 false 以取消对 Response.End 的内部调用。Server.Transfer方法则可以用Server.Execute 方法替代。

处理了这三个方法的调用,基本不会再出现那些碍眼的ThreadAbortException异常信息了。

« 转几种照片ps技术,质变的效果让td单元格内容不换行撑宽表格 »
  • 相关文章:

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

日历

最新评论及回复

最近发表

Powered By 空空如也 

Copyright 167-2009 www.7es.cn . Some Rights Reserved. Email:iamwgh@msn.com QQ:49556
Friends site:Null