看到好文章需要分享。
最近一直在學習ASP.NET MVC的生命周期,發現ASP.NET MVC是建立在ASP.NET Framework基礎之上的,所以原來對於ASP.NET WebForm中的很多處理流程,如管道事件等,對於ASP.NET MVC同樣適用。只是MVC URLRouting Module對進入到server的request進行了攔截,然後對此次request的handler進行了特殊的處理。總結來說,就是ASP.NET管道是所有ASP.NET Web Applicaiton,包括WebForm, MVC,是這兩者的基礎,這兩者的不同,是在於最終使用的IHttpHandler的不同。WebForm中的使用的是Page這個Handler,MVC中使用的是MVCHander.
首先詳細了解一下ASP.NET的生命周期,下面三張圖非常詳細,轉自用三張圖片詳解Asp.Net 全生命周期
說明:
1 第一張圖片從全局說明從客戶端發出一個Request請求,服務器windows內核中的HTTP.SYS組件接收該請求開始到IIS處理完該請求並響應到客戶端結束。
2 第二張圖片為圖1中Http處理管線的詳細步驟
3 第三張圖片為圖2Http處理管線中調用處理程序(HttpHandler, 此處為Page對象)的詳細生命周期過程。
圖1:
圖2: Http處理管線詳解
圖3: Asp.Net生命周期詳解(WebForm的情況)