由于我使用的效果原因Response.Redirect("XXX", false)
。我不希望页面生命周期继续下去。是否可以使用Response.Redirect("XXX", false)
(请注意 false )并在同一时间停止页面生命周期。请参阅性能问题
http://mvolo.com/fix-the-3-high-cpu-performance-problems-for-iis-aspnet-apps/
答案 0 :(得分:3)
您始终可以使用Response.End(),但最简单的方法是简单地传递true参数。
Response.Redirect("XXX", true);
或者
Response.Redirect("XXX", false);
Response.End();
修改强> 在你的帖子上阅读评论后,似乎Response.End()也没有用,因为它也会抛出一个ThreadAbortException。
但似乎这里给出了最佳答案(使用HttpContext.Current.ApplicationInstance.CompleteRequest而不是响应结束,但它不会停止页面生命周期):http://support.microsoft.com/kb/312629/en
Response.Redirect("XXX", false);
HttpContext.Current.ApplicationInstance.CompleteRequest();
如果您不希望异常,最好的办法就是在代码中优雅地退出。