下面我來向大家介紹 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 文件:
< SCRIPT LANGUAGE="VBScript" RUNAT="Server"> 'Session_OnStart 當客戶首次運行 ASP 應用程序中的任何一個頁面時運行 'Session_OnEnd 當一個客戶的會話超時或退出應用程序時運行 'Application_OnStart 當任何客戶首次訪問該應用程序的首頁時運行 'Application_OnEnd 當該站點的 WEB 服務器關閉時運行 < /SCRIPT> < SCRIPT LANGUAGE="VBScript" RUNAT="Server"> Sub Application_OnStart VisitorCountFilename = Server.MapPath ("/ex2") + "\VisitCount.txt" Set FileObject = Server.CreateObject("Scripting.FileSystemObject") Set Out= FileObject.OpenTextFile (VisitorCountFilename, 1, FALSE, FALSE) Application("visitors") = Out.ReadLine Application("VisitorCountFilename") = VisitorCountFilename End Sub '========================================================= SUB Application_OnEnd Set FileOutObject = Server.CreateObject("Scripting.FileSystemObject") Set Out= FileOutObject.CreateTextFile (Application("VisitorCountFilename"), TRUE,FALSE) Out.WriteLine(application("visitors")) End Sub '=========================================================Sub Session_OnStart Session.Timeout = 5 Application("visitors") = Application("visitors") + 1 Session("ID")=Session.SessionID End Sub < /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 文件中讀取以前的統計數。
以上就是本文的全部內容,希望對大家的學習有所幫助。