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