在深入學習ASP.NET之前,首先需要先了解一下ASP.NET的頁面運行機制:
瀏覽以下內容需要對ASP.NET管道有一定的了解,附上很不錯的幾個鏈接:

- 當第一次訪問頁面時,頁面請求首先依次經過HttpHandler和HttpModule的處理,服務器接收到HttpHandler的請求后將跳轉到需要訪問的頁面,然后ASP.NET Engine負責找到這個頁面后台的類,並實例化為一個臨時對象.在此過程中會觸發一系列的事件.其中,一部分事件需要經過對象中的方法進行處理,之后服務器會將這個處理后的頁面移交給Response對象,然后由Response對象將這個頁面發送到客戶端.這就是第一條路線.
- 因為服務器之間的會話已經建立,在服務器中的臨時對象已經建立,所以在這個頁面上重新提交一些信息並在此向服務器發送請求時,是不用再經過初始化頁面這一部分工作的.故這第二條路線是依次提交HttpModule和HttpHandler請求,然后直接與臨時對象交互並返回的.
- 第三條路線與第二條路線不同之處在於,在處理請求時,如果涉及到需要調用ASP.NET Cache(即ASP.NET)緩存,臨時對象將直接從緩存中提取數據並返回.
- 第四條路線是在刷新頁面的時候,服務器接收到並發現這個頁請求是曾經已經處理過的,將處理結果存儲到由一個默認的HttpModule管理的輸出緩存中.那么此時就可以直接從這個緩存中提取信息並返回而無需在處理一遍
當每次請求ASP.NET頁面時,依據不同的情況.瀏覽器,服務器,ASP.NET引擎之間將執行這4條路線中的一條路線.通過了解ASP.NET頁面的內部運行機制,我們可以在編寫或調試代碼的時候更加游刃有余.
