国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

利用global.asa計劃執行程序

2019-11-18 20:23:43
字體:
來源:轉載
供稿:網友
  其實就是利用文件“global.asa”!許多asp編程新手都想知道這東西是什么?事實上,global.asa就是一個事件驅動程序,其中共包含4個事件處理過程: application_OnStart、Application_OnEnd、session_OnStart 和 Session_OnEnd。  

  當網站的一個應用程序的頁面第
一次被用戶訪問時,global.asa就被裝載進內存。當應用程序(application )啟動、結束,或者會話(session)開始、結束時,你就可以加入需要執行的腳本代碼。  

  利用一些技巧,你就可以使用global.asa文件達到計劃執行任務的目的。  

  這里有一個例子:“跟蹤網站有多少訪問者;在訪問量達到100時,計數器復位到0,并且執行你事先編制的代碼”。當然,根據自己的需要,你可以調整訪問量的上限數目100。  

  global.asa的內容如下:  

< SCRipT LANGUAGE=VBScript RUNAT=Server >
Sub Application_OnStart
   Application("SessionCount") = 0
End Sub

Sub Session_OnStart
   Application.Lock
   Application("SessionCount") = Application("SessionCount") + 1
   Application.Unlock
   If Application("SessionCount") > 100 Then
      Application.Lock
      Application("SessionCount") = 0
      Application.Unlock
      '' 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 accounts
   End if
End Sub
< /SCRIPT >  

  下面,讓我們看看一天內執行4次某任務的情況。你可以將日期和時間的值存儲在一個文本文件中,并且周期性地檢查它。當時間過去6個小時時,寫入新的日期與時間到這個文本文件中,并且,啟動你想要執行的任務。你可以改變 “6”這個數值,從而更多或者更少地執行任務。  

  雖然,上面的方法需要對文本文件設置讀、寫權限后才能正確執行,但這仍不失為一個非常聰明的解決方案!  

  在這個例程中,每有15個新訪問者時,就檢查文本文件一次。當然,你可以調整“15”的數值,或者設定每當有新訪問者時,都檢查文本文件一次。但這樣處理,無疑會加重站點的負載,浪費服務器的資源!總之,檢查的頻度由你自己考慮后設定。  

  例子中,必須保證初次寫入文本文件的日期與時間的合法性,否則,當程序首次讀入一個空值時,就會發生運行錯誤。  

  比如:將 6/30/99 6:58:45 PM 初始寫入文本文件的第一行。  

  當前,也可以加入一些代碼,用來檢查日期與時間的寫法,并且處理出錯信息。但初始寫入一個合法的日期與時間數值,將會更簡單一些。  

  global.asa的內容如下:  

< SCRIPT LANGUAGE=VBScript RUNAT=Server >
Sub Application_OnStart
   Application("SessionCount") = 0
End Sub

Sub Session_OnStart
   Application.Lock
   Application("SessionCount") = Application("SessionCount") + 1
   Application.Unlock

   If Application("SessionCount") > 15 Then
      Application.Lock
      Application("SessionCount") = 0
      Application.Unlock
      Set ObjMyFile = CreateObject("Scripting.FileSystemObject")
      Set OpenMyFile = ObjMyFile.OpenTextFile(Server.MapPath("last-update.txt"))
      MyFileValue = OpenMyFile.ReadLine
      OpenMyFile.Close
      If DateDiff("h",MyFileValue,NOW) > 6 Then
         '' 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 accounts
         Set WriteMyFile = ObjMyFile.CreateTextFile(Server.MapPath("last-update.txt"))
         WriteMyFile.WriteLine(NOW)
         WriteMyFile.Close
      End if  
   End If
End Sub
< /SCRIPT >

  請注意:還有許多更好的方法達到檢查的目的,這篇文章的目的是想起到拋磚引玉的作用。  

  同時請記住:WEB站點的應用程序一定要設置為一個Application,這樣“global.asa”文件才能起作用。許多虛擬域默認為Application,但下層的目錄卻不是。  

  最后的一點提示:在將代碼寫入global.asa前,請先寫入一個“ASP”文件中進行測試。如果測試失敗,那么在global.asa中也將不能運行成功。同時,確認文本文件的路徑是正確的。  

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 都江堰市| 大洼县| 黄山市| 新余市| 龙陵县| 宁蒗| 武山县| 安图县| 临颍县| 墨玉县| 大兴区| 遵化市| 年辖:市辖区| 黎川县| 富阳市| 陇南市| 芦溪县| 张家口市| 普格县| 永寿县| 赣榆县| 当雄县| 志丹县| 延安市| 托克逊县| 深圳市| 玉山县| 环江| 茂名市| 泰来县| 和静县| 昭觉县| 高淳县| 通海县| 沧州市| 长沙县| 那坡县| 贵阳市| 桂林市| 大同市| 琼结县|