ASP基礎(chǔ)入門第九篇(Global.asa文件的使用)
下面我來(lái)向大家介紹 Global.asa 文件的使用方法。
什么是 Global.asa 文件?它其實(shí)是一個(gè)可選文件,程序編寫者可以在該文件中指定事件腳本,并聲明具有會(huì)話和應(yīng)用程序作用域的對(duì)象。該文件的內(nèi)容不是用來(lái)給用戶顯示的,而是用來(lái)存儲(chǔ)事件信息和由應(yīng)用程序全局使用的對(duì)象。該文件的名稱必須是 Global.asa 且必須存放在應(yīng)用程序的根目錄中。每個(gè)應(yīng)用程序只能有一個(gè) Global.asa 文件。
在 Global.asa 文件中,如果包含的腳本沒有用 < SCRIPT> 標(biāo)記封裝,或定義的對(duì)象沒有會(huì)話或應(yīng)用程序作用域,則服務(wù)器將返回錯(cuò)誤。我們可以用任何支持腳本的語(yǔ)言編寫 Global.asa 文件中包含的腳本。如果多個(gè)事件使用同一種腳本語(yǔ)言,就可以將它們組織在一組 < SCRIPT> 標(biāo)記中。
在 Global.asa 文件中聲明的過程只能從一個(gè)或多個(gè)與 Application_OnStart、Application_OnEnd、Session_OnStart 和 Session_OnEnd 事件相關(guān)的腳本中調(diào)用。在基于 ASP 的應(yīng)用程序的 ASP 頁(yè)中,它們是不可用的。如果要在應(yīng)用程序之間共享過程,可在單獨(dú)的文件中聲明這些過程,然后使用服務(wù)器端包容 (SSI) 語(yǔ)句將該文件包含在調(diào)用該過程的 ASP 程序中。通常,包含文件的擴(kuò)展名應(yīng)為 .inc。
下面是一個(gè)很標(biāo)準(zhǔn)的Global.asa 文件:
< SCRIPT LANGUAGE="VBScript" RUNAT="Server"> "Session_OnStart 當(dāng)客戶首次運(yùn)行 ASP 應(yīng)用程序中的任何一個(gè)頁(yè)面時(shí)運(yùn)行 "Session_OnEnd 當(dāng)一個(gè)客戶的會(huì)話超時(shí)或退出應(yīng)用程序時(shí)運(yùn)行 "Application_OnStart 當(dāng)任何客戶首次訪問該應(yīng)用程序的首頁(yè)時(shí)運(yùn)行 "Application_OnEnd 當(dāng)該站點(diǎn)的 WEB 服務(wù)器關(guān)閉時(shí)運(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>
在這個(gè) Global.asa 程序中,涉及到了 ASP 的 File Access 組件,它可以提供用于訪問文件系統(tǒng)的方法、屬性和集合。這將在以后 ASP 的組件中進(jìn)行展開討論。在這里,它起到了在服務(wù)器上創(chuàng)建新文件并對(duì)文件進(jìn)行寫操作的作用。這其實(shí)是一個(gè) ASP 頁(yè)面訪問記數(shù)器應(yīng)用程序的 Global 文件,首先當(dāng)客戶首次訪問該應(yīng)用程序的首頁(yè)時(shí) , 過程 Application_OnStart 定義了在服務(wù)器上指定的虛擬目錄下新建一個(gè) VisitCount.txt 的文本文件,并將文件的路徑和內(nèi)容保存在應(yīng)用程序級(jí)的變量中。而當(dāng)任何一個(gè)客戶訪問 ASP 應(yīng)用程序中的任何一個(gè)頁(yè)面時(shí),過程 Session_OnStart 定義將應(yīng)用程序級(jí)的變量 visitors 的值自動(dòng)加一。這樣,每當(dāng)有客戶訪問頁(yè)面時(shí),變量 visitors 都將自動(dòng)加一,以起到統(tǒng)計(jì)點(diǎn)擊率的作用。由于變量 visitors 的值是存儲(chǔ)在系統(tǒng)內(nèi)存之中,所以如果服務(wù)器關(guān)閉或重新啟動(dòng),存儲(chǔ)在變量中的數(shù)據(jù)將自動(dòng)丟失,所以通過定義過程 Application_OnEnd,在服務(wù)器關(guān)閉或重啟之前將數(shù)據(jù)寫入事先建立的文本文件之中,這樣就能確保當(dāng)服務(wù)器再次啟動(dòng)時(shí),Application_OnStart 過程可以從 VisitCount.txt 文件中讀取以前的統(tǒng)計(jì)數(shù)。
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助。
相關(guān)文章:
1. ASP刪除img標(biāo)簽的style屬性只保留src的正則函數(shù)2. ASP實(shí)現(xiàn)加法驗(yàn)證碼3. ASP中格式化時(shí)間短日期補(bǔ)0變兩位長(zhǎng)日期的方法4. ASP.NET延遲調(diào)用或多次調(diào)用第三方Web API服務(wù)5. ASP基礎(chǔ)知識(shí)Command對(duì)象講解6. ASP.NET MVC使用異步Action的方法7. ASP基礎(chǔ)入門第二篇(ASP基礎(chǔ)知識(shí))8. chat.asp聊天程序的編寫方法9. ASP新手必備的基礎(chǔ)知識(shí)10. ASP.NET Core依賴注入DI容器的方法實(shí)現(xiàn)
