利用global.asa計劃執(zhí)行程序_第1頁
利用global.asa計劃執(zhí)行程序_第2頁
利用global.asa計劃執(zhí)行程序_第3頁
全文預(yù)覽已結(jié)束

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、    其實就是利用文件“global.asa”!許多ASP編程新手都想知道這東西是什么?事實上,global.asa就是一個事件驅(qū)動程序,其中共包含4個事件處理過程: Application_OnStart、Application_OnEnd、Session_OnStart 和 Session_OnEnd。  當網(wǎng)站的一個應(yīng)用程序的頁面第 一次被用戶訪問時,global.asa就被裝載進內(nèi)存。當應(yīng)用程序(application )啟動、結(jié)束,或者會話(session)開始、結(jié)束時,你就可以加入需要執(zhí)行的腳本代碼。 

2、0;利用一些技巧,你就可以使用global.asa文件達到計劃執(zhí)行任務(wù)的目的。  這里有一個例子:“跟蹤網(wǎng)站有多少訪問者;在訪問量達到100時,計數(shù)器復(fù)位到0,并且執(zhí)行你事先編制的代碼”。當然,根據(jù)自己的需要,你可以調(diào)整訪問量的上限數(shù)目100。  global.asa的內(nèi)容如下:  < SCRIPT LANGUAGE=VBScript RUNAT=Server > Sub Application_OnStart    Application("SessionCount")

3、= 0 End Sub Sub Session_OnStart    Application.Lock    Application("SessionCount") = Application("SessionCount") + 1    Application.Unlock    If Application("SessionCount") > 100 Then     

4、;  Application.Lock       Application("SessionCount") = 0       Application.Unlock       '' Here you would put any code you need to run       ''

5、 do not surround the code with < % % > tags       '' For example you might run a database query that checks for expired accounts    End if End Sub < /SCRIPT >  下面,讓我們看看一天內(nèi)執(zhí)行4次某任務(wù)的情況。你可以將日期和時間的值存儲在一個文本文件中,并且周期性地檢查它。當時間過去6個小時時,

6、寫入新的日期與時間到這個文本文件中,并且,啟動你想要執(zhí)行的任務(wù)。你可以改變 “6”這個數(shù)值,從而更多或者更少地執(zhí)行任務(wù)。  雖然,上面的方法需要對文本文件設(shè)置讀、寫權(quán)限后才能正確執(zhí)行,但這仍不失為一個非常聰明的解決方案!  在這個例程中,每有15個新訪問者時,就檢查文本文件一次。當然,你可以調(diào)整“15”的數(shù)值,或者設(shè)定每當有新訪問者時,都檢查文本文件一次。但這樣處理,無疑會加重站點的負載,浪費服務(wù)器的資源!總之,檢查的頻度由你自己考慮后設(shè)定。  例子中,必須保證初次寫入文本文件的日期與時間的合法性,否則,當程序首次讀入一個空值時,就會

7、發(fā)生運行錯誤。  比如:將 6/30/99 6:58:45 PM 初始寫入文本文件的第一行。  當前,也可以加入一些代碼,用來檢查日期與時間的寫法,并且處理出錯信息。但初始寫入一個合法的日期與時間數(shù)值,將會更簡單一些。  global.asa的內(nèi)容如下:  < SCRIPT LANGUAGE=VBScript RUNAT=Server > Sub Application_OnStart    Application("SessionCount") = 0

8、 End Sub Sub Session_OnStart    Application.Lock    Application("SessionCount") = Application("SessionCount") + 1    Application.Unlock    If Application("SessionCount") > 15 Then     

9、60; Application.Lock       Application("SessionCount") = 0       Application.Unlock       Set ObjMyFile = CreateObject("Scripting.FileSystemObject")       

10、Set OpenMyFile = ObjMyFile.OpenTextFile(Server.MapPath("last-update.txt")       MyFileValue = OpenMyFile.ReadLine       OpenMyFile.Close       If DateDiff("h",MyFileValue,NOW) > 6 Then &#

11、160;        '' Here you would put any code you need to run          '' do not surround the code with < % % > tags          '' For example yo

12、u might run a database query that checks for expired accounts          Set WriteMyFile = ObjMyFile.CreateTextFile(Server.MapPath("last-update.txt")          WriteMyFile.WriteLine(NOW)          WriteMyFile.Close       End if     End If End Sub < /SCRIPT > 請注意:還有許多更好的方法達到檢查的目的,這篇文章的目的是想起到拋磚引玉的作用。  同時請記

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論