ASP.net全局程序文件Global.asax用法分析
一般來說ASP.NET應用程序只能有一個Global.asax文件,該文件支持許多項。具體分析如下:
?Application_Start:在應用程序接收到第一個請求時調用,這是在應用程序中給應用程序級的變量賦值或指定對所有用戶必須保持的狀態的理想位置。
? Session_Start:類似于Application_Start事件,但這個事件在用戶第一次訪問應用程序時調用。例如,Application_Start事件只在接收到第一個請求時觸發,第一個請求會讓應用程序運行,而Session_Start事件會在每個終端用戶第一次向應用程序發出請求時調用。
?Application_BeginRequest:它沒有列在Visual Studio提供的模板中,但該事件會在每個請求發出之前觸發。也就是說,在請求到達服務器,且得到處理之前,會觸發Application_BeginRequest事件,并在處理該請求之前處理。
?Application_AuthenticateRequest:每個請求都會觸發該事件,允許為請求建立定制的身份驗證。
?Application_Error:在應用程序的用戶拋出一個錯誤時觸發。它適合于提供應用程序級的錯誤處理,或者把錯誤記錄到服務器的事件日志中。
?Session_End:在InProc模式下運行時,這個事件在終端用戶退出應用程序時觸發。
?Application_End:在應用程序結束時觸發。大多數ASP.NET開發人員都不使用這個事件,因為ASP.NET很好地完成了關閉和清理剩余對象的任務。
以下部分為轉載
·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:在 InProc 模式下運行時,當一個用戶的會話超時、結束或他們離開應用程序 Web 站點時,該事件被觸發。
2、觸發的順序
Application_Init 和Application_Start 事件在應用程序第一次啟動時被觸發一次。
Application_Disposed 和Application_End 事件在應用程序終止時被觸發一次。
基于會話的事件(Session_Start 和 Session_End)只在用戶進入和離開站點時被使用。
其余的事件則處理應用程序請求,這些事件被觸發的順序是:
·Application_BeginRequest
·Application_AuthenticateRequest
·Application_AuthorizeRequest
·Application_ResolveRequestCache
·Application_AcquireRequestState
·Application_PreRequestHandlerExecute
·Application_PreSendRequestHeaders
·Application_PreSendRequestContent
·Application_PostRequestHandlerExecute
·Application_ReleaseRequestState
·Application_UpdateRequestCache
·Application_EndRequest
使用全局文件Global.asax時需要注意:
1)只有被設置為”應用程序”的虛擬目錄(而不是普通的虛擬目錄)所屬的global.asax才有效.
2)IIS服務只是windows的一種服務。當IIS服務開啟后第一次訪問網站時(或者資源緊張,應用程序域回收自動重啟時)global.asax才會執行,如果只是重啟IIS是不激發global.asax執行的。
本文由 貴州做網站公司 整理發布,部分圖文來源于互聯網,如有侵權,請聯系我們刪除,謝謝!
網絡推廣與網站優化公司(網絡優化與推廣專家)作為數字營銷領域的核心服務提供方,其價值在于通過技術手段與策略規劃幫助企業提升線上曝光度、用戶轉化率及品牌影響力。這...
在當今數字化時代,公司網站已成為企業展示形象、傳遞信息和開展業務的重要平臺。然而,對于許多公司來說,網站建設的價格是一個關鍵考量因素。本文將圍繞“公司網站建設價...
在當今的數字化時代,企業網站已成為企業展示形象、吸引客戶和開展業務的重要平臺。然而,對于許多中小企業來說,高昂的網站建設費用可能會成為其發展的瓶頸。幸運的是,隨...
安徽農金如何開通網銀?只需要帶上身份證原件和營業執照原件。如果要開通對公賬戶網銀,還必須帶上銀行的預留印鑒。在農信社營業時間內,到所在農信社窗口辦理網銀簽約手續,即可申請開通個人網銀服務!安徽農金怎么在手機上開通網銀?1.打開手機界面,點擊“應用市場”圖標。2.在應用市場搜索框中輸入“安徽省農村信用社”,點擊“搜索”按鈕,軟件就會出現,然后點擊“安裝”即可安裝軟件。3.安裝完成后,在手機界面點擊“...
ps怎么讓皮膚變白?使用軟件版本:PS CS6版本使用Photoshop對人物皮膚進行如下美白:1.打開PS軟件,放入要蒙皮的人的圖像,Ctrl J復制一層;2.執行 amp的設置參數過濾gt雜散gt減少雜散gt先進gt每個頻道在菜單欄中如下:紅色強度10-保留細節100%綠色強度10-保留細節6%藍色強度10-保留細節6%。3.執行命令 "濾鏡gt銳化gtUSM銳化 "在菜單欄中。設置參數個數:...
如何打開BTCGUILD網?您在框中輸入的是密碼。例如,如果輸入“GPU”,密碼是GPUcgminer instructions1。首先,雙擊生成.exe配置動態庫文件和運行環境cgminer需要使用的2,打開給我-ltc.com設置挖掘帳戶后,您可以開始向workerworker注冊。首先,打開“run”(可以在“開始”菜單中找到,也可以按win r彈出),輸入CMD彈出命令窗口,然后跳轉到cg...