方便的全域應用程式類別(Global.asax)
若許多網頁都需要同個功能(身分驗證等等)
可寫在此類別中的事件,就不用每個網頁都寫
像是
void Application_BeginRequest(object sender, EventArgs e)
{
if ((System.IO.Path.GetFileName(Request.PhysicalPath).ToString() == "Default.aspx"))
{
首頁不驗證
}
else
{//除了Default.aspx,其他頁面在有動作時皆會進到這
驗證身分、時間到自動登出等等
}
取得當前頁面名稱System.IO.Path.GetFileName(Request.PhysicalPath).ToString()
Global.asax 檔包含以下事件:
‧ Application_Init:在應用程式被實例化或第一次被調用時,該事件被觸發。對於所有的HttpApplication物件實例,它都會被調用。
‧ Application_Disposed:在應用程式被銷毀之前觸發。這是清除以前所用資源的理想位置。
‧ Application_Error:當應用程式中遇到一個未處理的異常時,該事件被觸發。
‧ Application_Start:在HttpApplication 類的第一個實例被創建時,該事件被觸發。它允許你創建可以由所有HttpApplication 實例訪問的物件。
‧ Application_End:在HttpApplication 類的最後一個實例被銷毀時,該事件被觸發。在一個應用程式的生命週期內它只被觸發一次。
‧ Application_BeginRequest:在接收到一個應用程式請求時觸發。對於一個請求來說,它是第一個被觸發的事件,請求一般是用戶輸入的一個頁面請求(URL)。
‧ Application_EndRequest:針對應用程式請求的最後一個事件。
‧ Application_PreRequestHandlerExecute:在 ASP.NET 頁面框架開始執行諸如頁面或 Web 服務之類的事件處理程式之前,該事件被觸發。
‧ Application_PostRequestHandlerExecute:在 ASP.NET 頁面框架結束執行一個事件處理程式時,該事件被觸發。
‧ Applcation_PreSendRequestHeaders:在 ASP.NET 頁面框架發送 HTTP 頭給請求客戶(流覽器)時,該事件被觸發。
‧ Application_PreSendContent:在 ASP.NET 頁面框架發送內容給請求客戶(流覽器)時,該事件被觸發。
‧ Application_AcquireRequestState:在 ASP.NET 頁面框架得到與當前請求相關的當前狀態(Session 狀態)時,該事件被觸發。
‧ Application_ReleaseRequestState:在 ASP.NET 頁面框架執行完所有的事件處理程式時,該事件被觸發。這將導致所有的狀態模組保存它們當前的狀態資料。
‧ Application_ResolveRequestCache:在 ASP.NET 頁面框架完成一個授權請求時,該事件被觸發。它允許緩存模組從緩存中為請求提供服務,從而繞過事件處理程式的執行。
‧ Application_UpdateRequestCache:在 ASP.NET 頁面框架完成事件處理程式的執行時,該事件被觸發,從而使緩存模組存儲回應資料,以供回應後續的請求時使用。
‧ Application_AuthenticateRequest:在安全模組建立起當前用戶的有效的身份時,該事件被觸發。在這個時候,用戶的憑據將會被驗證。
‧ Application_AuthorizeRequest:當安全模組確認一個用戶可以訪問資源之後,該事件被觸發。
‧ Session_Start:在一個新用戶訪問應用程式 Web 站點時,該事件被觸發。
‧ Session_End:在一個用戶的會話超時、結束或他們離開應用程式 Web 站點時,該事件被觸發。
留言
張貼留言