客戶每次請求頁面時——通過最初請求或者回送——所發生的事情。
圖中顯示了有5個主要事件:初始化、載入、預提交、提交、處理
我們可以為每個步驟新增**。
1.初始化:
asp.net
處理器第一次接到頁面請求時,首先會觸發init事件。這個事件可以構建頁面架構,並準備即將提交的頁面控制項。oninit()方法是處理這個事件的預設方法。
init
事件之後,是兩個較小的程序。第一,如果存在試圖狀態,就載入頁面。也就是說,asp.net處理器會查詢隱藏在標記中的頁面內容所包含的、並被包括在頁面請求中的資料。如果找到了這種資料,就對資料進行讀取並編碼,準備在(重新)生成頁面時使用。第二,處理回送資料。在使用者觸發乙個伺服器端事件時,web窗體會觸發乙個回送,這個回送含有伺服器用以進行處理的資訊。
2.頁面載入:
載入頁面時,觸發的主要事件就是load事件。處理load事件的預設方法是onload事件處理程式;然而,vs.net通常要在initializecomponent()方法中新增一行**,指出load事件由page_load()方法處理的。
private
void initializecomponent()
可以向page_load()方法新增**,以控制頁面載入時所發生的事件。
3.事件處理:
在這個過程中,asp.net處理器要應付一系列被觸發並經過處理的事件。如果頁面正在被回送,還會包括使用者觸發的事件。
prerender
事件也是在這個階段被處理的。處理prerender事件的預設方法是onprerender(),這裡要編寫**,完成提交頁面的方式的最終改變(這個變化可以儲存在回送中,它和下乙個步驟中render()事件處理程式所引起的變化不同)。然後,把這個頁面狀態儲存到即將返回給頁面的試圖狀態中。
4.提交:
在這個過程中,通過生成瀏覽器必需顯示的html,獲取用以提交將被傳送到瀏覽器的頁面**。通過向render()事件處理程式新增**,可以生成更多的最終改變,這些改變能夠影響頁面的提交方式,因為render()事件處理程式可以處理render事件(注意命名約定中的變化:事件處理程式一定不能被命名為onrender())。
5.處理無用的物件:
最後這個階段含有用於執行清理操作的**,清理工作是通過處理不再使用的物件(比如那些已經完成的資料鏈結)完成的。
客戶每次請求Web頁面過程
客戶每次請求頁面時 通過最初請求或者回送 所發生的事情。圖中顯示了有5個主要事件 初始化 載入 預提交 提交 處理 我們可以為每個步驟新增 1 初始化 asp.net 處理器第一次接到頁面請求時,首先會觸發init事件。這個事件可以構建頁面架構,並準備即將提交的頁面控制項。oninit 方法是處理這...
Web 頁面請求過程
客戶端作業系統生成乙個 dhcp 請求報文,將報文放入目的地埠67和源埠68的 udp 報文段。該 udp 報文段被放置在乙個具有廣播 ip 目的地位址 255.255.255.255 和源 ip 位址 0.0.0.0 的 ip 資料報中,因為此時客戶端還沒有 ip 位址。包含 dhcp 請求報文的...
Web 頁面請求過程
假設一台計算機最開始沒有 ip 位址以及其它資訊,如何動態獲取ip位址?這就需要用到執行動態主機配置協議 dynamic host configuration,dhcp 以從本地的dhcp伺服器獲取乙個ip位址以及其他資訊。主機生成乙個 dns 查詢報文,該報文具有 53 號埠,因為 dns 伺服器...