ASP基礎(chǔ)入門第九篇(Global.asa文件的使用)
下面我來向大家介紹 Global.asa 文件的使用方法。
什么是 Global.asa 文件?它其實(shí)是一個可選文件,程序編寫者可以在該文件中指定事件腳本,并聲明具有會話和應(yīng)用程序作用域的對象。該文件的內(nèi)容不是用來給用戶顯示的,而是用來存儲事件信息和由應(yīng)用程序全局使用的對象。該文件的名稱必須是 Global.asa 且必須存放在應(yīng)用程序的根目錄中。每個應(yīng)用程序只能有一個 Global.asa 文件。
在 Global.asa 文件中,如果包含的腳本沒有用 < SCRIPT> 標(biāo)記封裝,或定義的對象沒有會話或應(yīng)用程序作用域,則服務(wù)器將返回錯誤。我們可以用任何支持腳本的語言編寫 Global.asa 文件中包含的腳本。如果多個事件使用同一種腳本語言,就可以將它們組織在一組 < SCRIPT> 標(biāo)記中。
在 Global.asa 文件中聲明的過程只能從一個或多個與 Application_OnStart、Application_OnEnd、Session_OnStart 和 Session_OnEnd 事件相關(guān)的腳本中調(diào)用。在基于 ASP 的應(yīng)用程序的 ASP 頁中,它們是不可用的。如果要在應(yīng)用程序之間共享過程,可在單獨(dú)的文件中聲明這些過程,然后使用服務(wù)器端包容 (SSI) 語句將該文件包含在調(diào)用該過程的 ASP 程序中。通常,包含文件的擴(kuò)展名應(yīng)為 .inc。
下面是一個很標(biāo)準(zhǔn)的Global.asa 文件:
< SCRIPT LANGUAGE="VBScript" RUNAT="Server">
"Session_OnStart 當(dāng)客戶首次運(yùn)行 ASP 應(yīng)用程序中的任何一個頁面時運(yùn)行
"Session_OnEnd 當(dāng)一個客戶的會話超時或退出應(yīng)用程序時運(yùn)行
"Application_OnStart 當(dāng)任何客戶首次訪問該應(yīng)用程序的首頁時運(yùn)行
"Application_OnEnd 當(dāng)該站點(diǎn)的 WEB 服務(wù)器關(guān)閉時運(yùn)行
< /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 組件,它可以提供用于訪問文件系統(tǒng)的方法、屬性和集合。這將在以后 ASP 的組件中進(jìn)行展開討論。在這里,它起到了在服務(wù)器上創(chuàng)建新文件并對文件進(jìn)行寫操作的作用。這其實(shí)是一個 ASP 頁面訪問記數(shù)器應(yīng)用程序的 Global 文件,首先當(dāng)客戶首次訪問該應(yīng)用程序的首頁時 , 過程 Application_OnStart 定義了在服務(wù)器上指定的虛擬目錄下新建一個 VisitCount.txt 的文本文件,并將文件的路徑和內(nèi)容保存在應(yīng)用程序級的變量中。而當(dāng)任何一個客戶訪問 ASP 應(yīng)用程序中的任何一個頁面時,過程 Session_OnStart 定義將應(yīng)用程序級的變量 visitors 的值自動加一。這樣,每當(dāng)有客戶訪問頁面時,變量 visitors 都將自動加一,以起到統(tǒng)計(jì)點(diǎn)擊率的作用。由于變量 visitors 的值是存儲在系統(tǒng)內(nèi)存之中,所以如果服務(wù)器關(guān)閉或重新啟動,存儲在變量中的數(shù)據(jù)將自動丟失,所以通過定義過程 Application_OnEnd,在服務(wù)器關(guān)閉或重啟之前將數(shù)據(jù)寫入事先建立的文本文件之中,這樣就能確保當(dāng)服務(wù)器再次啟動時,Application_OnStart 過程可以從 VisitCount.txt 文件中讀取以前的統(tǒng)計(jì)數(shù)。
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助。
相關(guān)文章:
1. 如何在?ASP.NET?Core?Web?API?中處理?Patch?請求2. asp文件如何打開3. ASP實(shí)現(xiàn)加法驗(yàn)證碼4. asp知識整理筆記2(問答模式)5. asp中Request.ServerVariables的參數(shù)集合6. asp判斷某個文件是否存在的函數(shù)7. asp(vbscript)中自定義函數(shù)的默認(rèn)參數(shù)實(shí)現(xiàn)代碼8. ASP中常用的22個FSO文件操作函數(shù)整理9. ASP實(shí)現(xiàn)類似hashMap功能的類10. ASP.Net MVC利用NPOI導(dǎo)入導(dǎo)出Excel的示例代碼

網(wǎng)公網(wǎng)安備