方便的全域應用程式類別(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 站點時,該事件被觸發。





參考 http://www.dotblogs.com.tw/mis2000lab/archive/2008/04/28/3526.aspx

留言

這個網誌中的熱門文章

SQL SEVER備份與還原遭遇問題

asp.net頁面間傳值