Asp.Net中global.asax檔案的描述

來源:互聯網
上載者:User

global.asax檔案的作用:
1.定義Application層級,Session層級的變數,對象和資料;
2.定義在Application中的,基於Application,Session的事件;

定義Application,Session層級的變數:
使用Application對象來定義Application範圍的變數,使用Session對象定義Session範圍的變數。

//設定變數
Application("myApplicationScopeVar") = "MyValue";
Session("mySessionScopeVar") = "MyValue";//擷取變數
MyValue = Application("myApplicationScopeVar");
MyValue = Session("mySessionScopeVar");

靜態對象,Com/Com+組件可以在global.asax中使用object聲明,作用範圍是Application或者Session的。
PipeLine指定了標示的對象或者組件的作用範圍是當前的HttpApplication執行個體,並且不是共用的。

Application事件:
Application_Start— Application開始時觸發;
Application_End— Application停止時觸發;
Application_BeginRequest— 收到Request觸發
Application_EndRequest— 結束Request觸發
Application_AuthenticationRequest— 收到鑒權請求觸發
Application_Error— 錯誤時觸發

Session事件:
Session_Start— 用戶端建立Session時觸發;
Session_End— 用戶端結束Session時觸發;

指令碼依然允許在global.asax中使用,可以定義變數,事件;01 <Script language="VB" runat="server">
02
03
04 'Application start up code goes here
05 Sub Application_OnStart()
06 Application("MyApplicationScopeVar") = "MyValue"
07 Session("MyApplicationScopeVar") = "MyValue"
08 End Sub
09
10 'Application clean up code goes here
11 Sub Application_OnEnd()
12 End Sub
13
14 'Session start up code goes here
15 Sub Session_OnStart()
16 End Sub
17
18 'Session clean up code goes here
19 Sub Session_OnEnd()
20 End Sub
21
22
23 </script>

當改動global.asax檔案時,Asp.Net 會檢測到這個檔案的改變,將處理完現有的所有Request後,觸發
Application_OnEnd()事件,然後重新啟動Application。
上面的處理過程,會重設整個網站,清除Session和其它儲存的資訊;當有新的Request到達時,Asp.Net 會重新編譯global.asax檔案,觸發Application_OnEnd()事件。
所以,如果要更改global.asax檔案,應該在網站不繁忙時做。

關於global.asax檔案要注意的幾點:
global.asax檔案存在於網站的根目錄;
每個網站只允許有1個global.asax檔案;
當對網站資源的第一次請求時,asp.net 會將global.asax檔案編譯為一個類(繼承自HttpApplication類);
global.asax檔案是自配置的,處於安全目的,不允許外部通過Url訪問;

參考:
Inside Asp.Net
Scott Worley
Publisher: New Riders Publishing
First Edition November 15, 2001
ISBN: 0-7357-1135-6, 730 pages

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.