最近忽然想起這個問題,上網查了很多,覺得這個網友回答的很給力,從本質上剖析了問題。最後發現這篇文章也是轉載自博客園的一位網友。http://www.cnblogs.com/adolphyang/p/4769902.html
不得不說這位網友很牛X,上面還有代碼示例。
那這裡我就只給自己做一個簡單的筆記,也算加深下記憶。
context.Response.End()的用法和本質:
用法:可以用來終止進程,即當前HttpHandler的執行,
也可以在子方法中終止HttpHandler的執行,
實際在子方法中終止程序,只有一種可能,那就是程序拋異常,所以context.Response.End()得本質就是拋出了線程異常
由於拋異常的效率較低,所以能不能就不用,在主方法中最好還是使用return;終止程序比較好,
但是在子方法中只能使用拋異常終止程序,即使用context.Response.End()終止程序。
總的來說:如果在子方法中還想終止整個程序的執行就要使用Response.End()方法,如果在主函數中則盡量使用return來終止程序的執行。