本章介紹全局頁面 AppStart 和 PageStart。
大多數的服務器端代碼是寫在個人網頁裡邊。例如,如果網頁中包含輸入表單,那麼這個網頁通常包含用來讀取表單數據的服務器端代碼。
然而,您可以通過在您的站點根目錄下創建一個名為 _AppStart 的頁面,這樣在站點啟動之前可以先啟動代碼執行。如果存在此頁面,ASP.NET 會在站點中其它頁面被請求時,優先運行這個頁面。
_AppStart 的典型用途是啟動代碼和初始化全局數值(比如計數器和全局名稱)。
注釋 1:_AppStart 的文件擴展名與您的網頁一致,比如:_AppStart.cshtml。
注釋 2:_AppStart 有下劃線前綴。因此,這些文件不可以直接浏覽。
就像 _AppStart 在您的站點啟動之前就運行一樣,您可以編寫在每個文件夾中的任何頁面之前運行的代碼。
對於您網站中的每個文件夾,您可以添加一個名為 _PageStart 的文件。
_PageStart 的典型用途是為一個文件夾中的所有頁面設置布局頁面,或者在運行某個頁面之前檢查用戶是否已經登錄。
下圖顯示了它是如何工作的:
當接收到一個請求時,ASP.NET 會首先檢查 _AppStart 是否存在。 如果 _AppStart 存在且這是站點接收到的第一個請求,則運行 _AppStart。
然後 ASP.NET 檢查 _PageStart 是否存在。如果 _PageStart 存在,則在其它被請求的頁面運行之前先運行 _PageStart。
您可以在 _PageStart 中調用 RunPage() 來指定被請求頁面的運行位置。否則,默認情況下,被請求頁面是在 _PageStart 運行之後才被運行。