context.response.end()和return的區別


最近忽然想起這個問題,上網查了很多,覺得這個網友回答的很給力,從本質上剖析了問題。最后發現這篇文章也是轉載自博客園的一位網友。http://www.cnblogs.com/adolphyang/p/4769902.html

不得不說這位網友很牛X,上面還有代碼示例。

那這里我就只給自己做一個簡單的筆記,也算加深下記憶。

 

context.Response.End()的用法和本質:

用法:可以用來終止進程,即當前HttpHandler的執行,

  也可以在子方法中終止HttpHandler的執行,

  實際在子方法中終止程序,只有一種可能,那就是程序拋異常,所以context.Response.End()得本質就是拋出了線程異常

  由於拋異常的效率較低,所以能不能就不用,在主方法中最好還是使用return;終止程序比較好,

  但是在子方法中只能使用拋異常終止程序,即使用context.Response.End()終止程序。

總的來說:如果在子方法中還想終止整個程序的執行就要使用Response.End()方法,如果在主函數中則盡量使用return來終止程序的執行。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM