18

和 各自的优点和缺点是Response.End()什么CompleteRequest()?我应该和不应该在哪里使用它们?我看了这个问题,但没有得到正确的答案。

4

1 回答 1

34

HttpResponse.End将输出缓冲区刷新到客户端并终止当前的请求处理线程(这很糟糕),而HttpApplication.CompleteRequest告诉 ASP.NET 立即跳过 ASP.NET 管道中的所有未来阶段并直接跳转到 EndRequest 步骤(这也会引发HttpApplication.EndRequest事件)。然后请求线程继续进行正常的生命周期结束清理。

所以,Response.End它就像一个弹射座椅:它很快就结束了事情,但意味着你失去了控制并且可能不必要地苛刻。就像CompleteRequest在最近的机场紧急降落一样。

于 2013-03-28T07:24:10.153 回答