获取与HTT presponse.End摆脱ThreadAbortException的presponse、HTT、ThreadAbortException、End

由网友(﹌墨雨)分享简介:有谁知道的一种方式来代替 HTT presponse.End()的东西,不会引发 ThreadAbortException 造成问题的表现?有人建议做一个'HttpContext.Current.ApplicationInstance.CompleteRequest()',但这并不尽一切 HTT presponse.E...

有谁知道的一种方式来代替 HTT presponse.End()的东西,不会引发 ThreadAbortException 造成问题的表现?有人建议做一个'HttpContext.Current.ApplicationInstance.CompleteRequest()',但这并不尽一切 HTT presponse.End()确实,如发送缓冲数据到这是一个问题,我的客户端。

Does anyone know of a way to replace httpResponse.End() with something that does not throw a ThreadAbortException causing issues with performance? Someone suggested doing a 'HttpContext.Current.ApplicationInstance.CompleteRequest()', but this doesn't do everything httpResponse.End() does, like sending buffered data to the client which is a problem for me.

推荐答案

首先,我怀疑这是的真正的引发显著的问题。然而,这不是一般的好主意呢?这是例外的滥用,真的。 (IMO,反正。)

Firstly, I doubt that this is really causing significant problems. However, it's not generally a great idea anyway... it's an abuse of exceptions, really. (IMO, anyway.)

从文档:

时,提供仅用于兼容与ASP - 即,用于与基于COM的Web的编程技术的兼容性是preceded ASP.NET此方法。如果你想提前跳到EndRequest事件并传送到客户端的响应,调用的 CompleteRequest 代替。

This method is provided only for compatibility with ASP—that is, for compatibility with COM-based Web-programming technology that preceded ASP.NET. If you want to jump ahead to the EndRequest event and send a response to the client, call CompleteRequest instead.

显然,目前的方法还是会继续调用后 CompleteRequest ,所以你需要确保你完成当前事件的处理干净。

Obviously the current method will still continue after you call CompleteRequest, so you'll need to make sure you complete the handling of the current event cleanly.

阅读全文

相关推荐

最新文章