這篇文章主要介紹了Global.asa文件的使用,是一個可選文件,每個應用程序只能有一個Global.asa 文件,需要了解的朋友可以參考下
下面我來向大家介紹Global.asa 文件的使用方法。
什麼是Global.asa 文件?它其實是一個可選文件,程序編寫者可以在該文件中指定事件腳本,並聲明具有會話和應用程序作用域的對象。該文件的內容不是用來給用戶顯示的,而是用來存儲事件信息和由應用程序全局使用的對象。該文件的名稱必須是Global.asa 且必須存放在應用程序的根目錄中。每個應用程序只能有一個Global.asa 文件。
在Global.asa 文件中,如果包含的腳本沒有用< SCRIPT> 標記封裝,或定義的對像沒有會話或應用程序作用域,則服務器將返回錯誤。我們可以用任何支持腳本的語言編寫Global.asa 文件中包含的腳本。如果多個事件使用同一種腳本語言,就可以將它們組織在一組< SCRIPT> 標記中。
在Global.asa 文件中聲明的過程只能從一個或多個與Application_OnStart、Application_OnEnd、Session_OnStart 和Session_OnEnd 事件相關的腳本中調用。在基於ASP 的應用程序的ASP 頁中,它們是不可用的。如果要在應用程序之間共享過程,可在單獨的文件中聲明這些過程,然後使用服務器端包容(SSI) 語句將該文件包含在調用該過程的ASP 程序中。通常,包含文件的擴展名應為.inc。
Global.asa 文件:
下面是一個很標準的
- <SCRIPTLANGUAGE=VBScriptRUNAT=Server>
- 'Session_OnStart當客戶首次運行ASP應用程序中的任何一個頁面時運行
- 'Session_OnEnd當一個客戶的會話超時或退出應用程序時運行
- 'Application_OnStart當任何客戶首次訪問該應用程序的首頁時運行
- 'Application_OnEnd當該站點的WEB服務器關閉時運行
- </SCRIPT>
- <SCRIPTLANGUAGE=VBScriptRUNAT=Server>
- SubApplication_OnStart
- VisitorCountFilename=Server.MapPath(/ex2)+/VisitCount.txt
- SetFileObject=Server.CreateObject(Scripting.FileSystemObject)
- SetOut=FileObject.OpenTextFile(VisitorCountFilename,1,FALSE,FALSE)
- Application(visitors)=Out.ReadLine
- Application(VisitorCountFilename)=VisitorCountFilename
- EndSub
- '================================================= ========
- SUBApplication_OnEnd
- SetFileOutObject=Server.CreateObject(Scripting.FileSystemObject)
- SetOut=FileOutObject.CreateTextFile(Application(VisitorCountFilename),TRUE,FALSE)
- Out.WriteLine(application(visitors))
- EndSub
- '================================================= ========SubSession_OnStart
- Session.Timeout=5
- Application(visitors)=Application(visitors)+1
- Session(ID)=Session.SessionID
- EndSub
- </SCRIPT>
在這個Global.asa 程序中,涉及到了ASP 的File Access 組件,它可以提供用於訪問文件系統的方法、屬性和集合。這將在以後ASP 的組件中進行展開討論。在這裡,它起到了在服務器上創建新文件並對文件進行寫操作的作用。這其實是一個ASP 頁面訪問記數器應用程序的Global 文件,首先當客戶首次訪問該應用程序的首頁時, 過程Application_OnStart 定義了在服務器上指定的虛擬目錄下新建一個VisitCount.txt 的文本文件,並將文件的路徑和內容保存在應用程序級的變量中。而當任何一個客戶訪問ASP 應用程序中的任何一個頁面時,過程Session_OnStart 定義將應用程序級的變量visitors 的值自動加一。這樣,每當有客戶訪問頁面時,變量visitors 都將自動加一,以起到統計點擊率的作用。由於變量visitors 的值是存儲在系統內存之中,所以如果服務器關閉或重新啟動,存儲在變量中的數據將自動丟失,所以通過定義過程Application_OnEnd,在服務器關閉或重啟之前將數據寫入事先建立的文本文件之中,這樣就能確保當服務器再次啟動時,Application_OnStart 過程可以從VisitCount.txt 文件中讀取以前的統計數。
以上就是本文的全部內容,希望對大家的學習有所幫助。