ASP的Global.asa使用說明

來源:互聯網
上載者:User

/*-------------------ASP文檔參考集-----------------------*/
*-->作者:草履蟲
*-->時間:2007-4.28---2007-4.30(原來是自己編寫的手冊,現在發在這裡)
*-->聯絡:caolvchong@gmail.com
*-->文檔功能:
1.複習了ASP,加深了對ASP結構的理解和ASP的體會
2.可以用來做ASP參考,自己寫的,參考起來更方便

這是第四部分:Global.asa

/*---------------------------關於ASP組件------------------------*/
ASP組件就不敘述了,遇到重要的組件(主要是第三方的組件),如上傳組件等等,再專門
介紹
/*==============================END==================================*/

/*-----------------------Global.asa-------------------------*/
.asa是檔案尾碼名,它是Active Server Application的首字母縮寫。Global.asa檔案可以
管理在ASP應用中兩個非常苛刻的對象:Application、Session
Global.asa是一個可選檔案,程式編寫者可以在該檔案中指定事件指令碼,並聲明具有會話和
Application 領域的對象。該檔案的內容不是用來給使用者顯示的,而是用來儲存事件資訊和由
應用程式全域使用的對象。該檔案必須存放在應用程式的根目錄內。每個應用程式只能有一
個Global.asa檔案
關於Global.asa檔案最常見的錯誤概念是它能為一般的使用的函數和子程式用作書庫。Global.asa檔案僅能用於建立對象的引用和俘獲啟動,以及結束Application對象和Session對象。
Global.asa檔案主要基於會話級事件被訪問,在以下三種情況下被調用:
1.當Application_OnStart或Application_OnEnd事件被觸發。
2.當Session_OnStart或Session_OnEnd事件被觸發。
3.當引用一個在Global.asa檔案裡被執行個體化的對象(Object)。

Global.asa的標準檔案格式如下:
<SCRIPT LANGUAGE="VBScript" RUNAT="Server">
Sub Application_OnStart
'Application_OnStart 當任何客戶首次訪問該應用程式的首頁時運行
End Sub

Sub Session_OnStart
'Session_OnStart 當客戶首次運行 ASP 應用程式中的任何一個頁面時運行
End Sub

Sub Session_OnEnd
'Session_OnEnd 當一個客戶的會話逾時或退出應用程式時運行
End Sub

Sub Application_OnEnd
'Application_OnEnd 當該網站的 WEB 伺服器關閉時運行
End Sub
</SCRIPT>

兩個關於Global.asa經典的例子:
1.強制進入首頁,就是如果第一次訪問網站,強制定位到首頁的辦法:
<SCRIPT LANGUAGE="VBScript" RUNAT="Server">
Sub Session_OnStart '只要是使用者第一次登入本站,則會跳轉到首頁
response.redirect("首頁地址")
End Sub
</SCRIPT>

2.網站線上人數的統計:
<SCRIPT LANGUAGE="VBScript" RUNAT="Server">
  Sub Application_OnStart
  ' 當伺服器開啟時,設定使用者計數器為0
  Application("ActiveUsers") = 0
  End Sub

  Sub Session_OnStart
  '設定Session對象的有效時間為20分鐘(也可以更長,但是越長對伺服器的
  '資源佔用越多,因為伺服器不接受少於20分鐘的有效時間,所以設定少於20
  '分鐘的有效時間是無效的)
  Session.Timeout = 20
  ' 當開始一個Session時使用者計數器加1
  Application.Lock
  Application("ActiveUsers") = Application("ActiveUsers") + 1
  Application.UnLock
  End Sub
  
  Sub Session_OnEnd
  ' 當結束一個Session時使用者計數器減1
  Application.Lock
  Application("ActiveUsers") = Application("ActiveUsers") - 1
  Application.UnLock
  End Sub
  </SCRIPT>

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.