由于我使用的性能原因,Response.Redirect("XXX", false)
. 我不希望页面生命周期继续。有什么方法可以同时使用 Response.Redirect("XXX", false)
(注意false)和停止页面生命周期。查看性能问题,
http://mvolo.com/fix-the-3-high-cpu-performance-problems-for-iis-aspnet-apps/
由于我使用的性能原因,Response.Redirect("XXX", false)
. 我不希望页面生命周期继续。有什么方法可以同时使用 Response.Redirect("XXX", false)
(注意false)和停止页面生命周期。查看性能问题,
http://mvolo.com/fix-the-3-high-cpu-performance-problems-for-iis-aspnet-apps/
您始终可以使用 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();
如果您不希望出现异常,最好的办法是在代码中优雅地退出。