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

下載本文檔

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

文檔簡介

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

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

3、uot;) = Application("SessionCount") + 1Application.UnlockIf Application("SessionCount") > 100 ThenApplication.LockApplication("SessionCount") = 0Application.Unlock' Here you would put any code you need to run' do not surround the code with < % % > tags&

4、#39; For example you might run a database query that checks for expired accountsEnd ifEnd Sub< /SCRIPT > 下面,讓我們看看一天內(nèi)執(zhí)行4次某任務(wù)的情況。你可以將日期和時(shí)間的值存儲(chǔ)在一個(gè)文本文件中,并且周期性地檢查它。當(dāng)時(shí)間過去6個(gè)小時(shí)時(shí),寫入新的日期與時(shí)間到這個(gè)文本文件中,并且,啟動(dòng)你想要執(zhí)行的任務(wù)。你可以改變 “6”這個(gè)數(shù)值,從而更多或者更少地執(zhí)行任務(wù)。 雖然,上面的方法需要對文本文件設(shè)置讀、寫權(quán)限后才能正確執(zhí)行,但這仍不失為一個(gè)非常聰明的解決方案! 在這個(gè)例程中,每有15個(gè)新訪

5、問者時(shí),就檢查文本文件一次。當(dāng)然,你可以調(diào)整“15”的數(shù)值,或者設(shè)定每當(dāng)有新訪問者時(shí),都檢查文本文件一次。但這樣處理,無疑會(huì)加重站點(diǎn)的負(fù)載,浪費(fèi)服務(wù)器的資源!總之,檢查的頻度由你自己考慮后設(shè)定。 例子中,必須保證初次寫入文本文件的日期與時(shí)間的合法性,否則,當(dāng)程序首次讀入一個(gè)空值時(shí),就會(huì)發(fā)生運(yùn)行錯(cuò)誤。 比如:將 6/30/99 6:58:45 PM 初始寫入文本文件的第一行。 當(dāng)前,也可以加入一些代碼,用來檢查日期與時(shí)間的寫法,并且處理出錯(cuò)信息。但初始寫入一個(gè)合法的日期與時(shí)間數(shù)值,將會(huì)更簡單一些。 global.asa的內(nèi)容如下:< SCRIPT LANGUAGE=VBScript RUN

6、AT=Server >Sub Application_OnStartApplication("SessionCount") = 0End SubSub Session_OnStartApplication.LockApplication("SessionCount") = Application("SessionCount") + 1Application.UnlockIf Application("SessionCount") > 15 ThenApplication.LockApplication(

7、"SessionCount") = 0Application.UnlockSet ObjMyFile = CreateObject("Scripting.FileSystemObject")Set OpenMyFile = ObjMyFile.OpenTextFile(Server.MapPath("last-update.txt")MyFileValue = OpenMyFile.ReadLineOpenMyFile.CloseIf DateDiff("h",MyFileValue,NOW) > 6 The

8、n' Here you would put any code you need to run' do not surround the code with < % % > tags' For example you might run a database query that checks for expired accountsSet WriteMyFile = ObjMyFile.CreateTextFile(Server.MapPath("last-update.txt")WriteMyFile.WriteLine(NOW)WriteMyFile.CloseEnd if End IfEnd Sub< /SCRIPT > 請注意:還有許多更好的方法達(dá)到檢查的目的,這篇文章的目的是想起到拋磚引玉的作用。 同時(shí)請記?。篧EB站點(diǎn)的應(yīng)用程序一定要設(shè)置為一個(gè)Application,這樣“global.a

溫馨提示

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

評(píng)論

0/150

提交評(píng)論