浏览 3150 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2007-07-16
一开始没有用spring.net的时候都好好的,用上了spring以后,突然发现在vs.net 2005的控制台中出现了很多System.Thread.ThreadAbortException,虽然对程序运行没有什么影响,但总感觉不爽,而且担心会出现thread dead/lock问题。 于是就在google上搜索,终于找到微软的一个kb里面有提到使用 Response.End、Response.Redirect 或 Server.Transfer 方法,将出现 ThreadAbortException 异常,里面提到解决方案为 对于 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); 对于 Server.Transfer,请改用 Server.Execute 方法。 于是回去修改了一下,发现那些个ThreadAbortException果真都不见了。哪个happy啊。 后来又详细的看了一下那个文章发现最后一段是这样的: 这篇文章中的信息适用于: • Microsoft ASP.NET 1.1 • Microsoft ASP.NET 1.0 问题就在于,这个对策是对应于1.x的版本的,我用的是2.x的版本,为什么也会出现这样的问题呢,难道是因为加入了spring.net以后导致了页面调用的时候使用了1.x的api? 有点不解,请知道的兄弟帮我看看是为什么? 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |