您的位置:首頁技術文章
文章詳情頁

ASP基礎入門第九篇(Global.asa文件的使用)

瀏覽:195日期:2022-06-05 14:11:04

下面我來向大家介紹 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 文件中讀取以前的統計數。

以上就是本文的全部內容,希望對大家的學習有所幫助。

標簽: ASP
相關文章:
国产综合久久一区二区三区