有谁知道httpResponse.End()
用不会引发ThreadAbortException
性能问题的东西替换的方法?有人建议做一个'HttpContext.Current.ApplicationInstance.CompleteRequest()',但这并不能做所有事情httpResponse.End()
,比如向客户端发送缓冲数据,这对我来说是个问题。
问问题
1708 次
2 回答
3
首先,我怀疑这是否真的会造成重大问题。但是,无论如何,这通常都不是一个好主意……这是对异常的滥用,真的。(无论如何,海事组织。)
从文档中:
提供此方法只是为了与 ASP 兼容,即与 ASP.NET 之前的基于 COM 的 Web 编程技术兼容。如果您想跳转到 EndRequest 事件并向客户端发送响应,请
CompleteRequest
改为调用。
显然,当前方法在您调用后仍会继续CompleteRequest
,因此您需要确保干净地完成当前事件的处理。
于 2013-01-24T20:28:13.167 回答
1
好的,我能够在这里找到答案。如果您向下滚动到“Jay Zalos”的答案。我替换httpResponse.End()
为以下 3 行:
Response.Flush()
Response.SuppressContent = True
HttpContext.Current.ApplicationInstance.CompleteRequest()
于 2013-01-24T20:57:12.063 回答