ASP.NET運行機制

來源:http://book.51cto.com/art/201008/215820.htm

 

 

從圖1.2中可以清楚地看到一個HTTP請求是如何經過服務器處理的,同時通過該圖也可以看出Request掌管着所有客戶端的輸入。圖中展示了一個HTTP請求有可能經過的4條路線。

第1條線路說明(1、2、3、4、5、6)

當用戶第一次訪問這個頁面時,這個請求首先經過HttpModuls和HttpHandler(HTTP處理程序組件)的處理,而在 HttpHandler的處理中,服務器會爲用戶轉到其真正要訪問的頁面,然後通過ASP Engine來找到這個頁面背後的類,並實例化爲一個臨時對象,在此過程中會觸發一系列的事件,其中一部分的事件需要經過對象中的方法處理,之後服務器會 將這個處理後的頁面移交給Response對象,最後由Response對象將這個頁面發送到客戶端,這就是第1條路線。

第2條線路說明(7、8、9)

當用戶在這個頁面上重新提交一些信息,並繼續向服務器發送請求時,因爲用戶與服務器之間的會話已經建立,同時對應的臨時對象也在服務器中建立,所以 不用再經過初始化頁面的工作,故第2條路線是按照HttpModuls、HttpHandler直接與臨時對象交互然後返回的。

第3條線路說明(10、11、12、13)

第3條路線與第2條不同的是在處理請求時如果涉及需要調用ASP Cache(即ASP緩存),臨時對象將直接從ASP緩存提取信息並返回。

第4條線路說明(14、15)

第4條路線就是當用戶刷新這個頁面時,服務器接收到HTTP請求,發現這個請求先前已經處理過,並將處理結果存儲到由一個默認的HttpModule管理的輸出緩存中,那麼用戶就可以直接從這個緩存提取信息並返回,而無須再重新處理一遍。

發佈了119 篇原創文章 · 獲贊 8 · 訪問量 33萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章