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

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

用ASP編寫計數器的優化方法

2019-11-18 19:53:28
字體:
來源:轉載
供稿:網友

    很多的網站都有記數器,用來記錄網站的訪問量,這給網站管理員即時了解本網站的運行及訪問情況提供了很多的方便。筆者研究過很多用asp編寫的計數器程序,發現大部份都是在一個訪客訪問站點的時候就打文本文件或數據庫,讀取以前的計數值進行加1,然后再寫入文件,若網站訪問量很大,可能會對系統造成很大的負擔,那么有沒有優化的方法呢,筆者經過研究測試,答案是:有。

    熟悉ASP的朋友都知道,ASP提供一個application屬性用來保存服務器的一些公共變量,我們可以用這個變量來保存記數器的信息。

    思路是先設定兩個Application變量,一個Application(“TotalCount”),用來保存記數值;另一個Application(“LastwriteTime”),用來保存上次把記數值保存到文件的時間。我們可以自己定義把計數值保存到文件的間隔時間,比如1小時、1天或者一個月。在有訪客訪網站的時候,讓Application(“TotalCount”)進行加1,如果上次保存計數的時間與現在的時間差大于我們設定的保存時間間隔值,那么就把當前的計數值寫入文件保存,這樣就減少了程序的IO操作,節約了系統的負擔。

    為了避免發生意外,如斷電或者服務器停止反應需待重啟等,我們可以設定保存時間間隔為2小時,這樣即使發生意外,損失也不會太大。

例程如下:

<%

Dim ofso   '定義FSO組件對象

Dim oFile  '定義讀寫文件對象

Dim nCount '定義從文件中讀取的記數值

Dim sFilePath '定義計數器保存文件的路徑

Const iInterval=2 '定義保存時間間隔為2小時

SFilePath=Server.MapPath("Count/Count.txt")  '假設計數器文件在根目錄下的Count目錄中,文件名為Count.txt

IF  Application("TotalCount")=0 or Application("TotalCount")="" THEN

'如果第一次運行網站,比如重啟后,我們就需要從文件中讀取出以前的計數值

   Set oFSO=Server.CreateObject("Scr

      IF not oFSO.FileExists(sFilePath) THEN

          OFile=oFSO.CreateTextFile(sFilePath,true)  '如果文件不存在,則創建一個文

      oFile.Write("1")   寫入當前的計數值"1"

           oFile.close

           Application("TotalCount")=1

      ELSE

            Set oFile = oFSOt.OpenTextFile(sFilePath)

            NCount=OFile.ReadLine

            Application("TotalCount")=Clng(nCount)+1

            OFile.close

      End IF

      Application("LastwriteTime")= Now  '設置最后一次訪問的時間為當前時間

 

ELSE

      Application("TotalCount")= Application("TotalCount")+1

      IF DateDiff("H", Application("LastwriteTime"),Now)>iInterval THEN

       '如果當前時間與上次保存計數值的時間差大于設定的時間間隔,則把計數值重新寫入文件

           Set oFSO=Server.CreateObject("Scripting.FileSystemObject") '實例化文件操作對象oFSO

           OFile=oFSO.OpenTextFile(sFilePath,true)  '打開文件

           oFile.Write(Application("TotalCount"))   '寫入當前的計數值

           oFile.close

           Application("LastwriteTime")= Now  '設置最后一次訪問的時間為當前時間

       END IF

End IF

Response.Write("歡迎光臨本網站,你是訪問本網站的第" & Application("TotalCount") & "位訪客!")

%>

本例程在Windows2000 IIS5.0下通過。


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 新巴尔虎左旗| 沙湾县| 德江县| 茂名市| 介休市| 达孜县| 黄龙县| 咸宁市| 都兰县| 栾川县| 湘西| 土默特左旗| 江油市| 阿勒泰市| 商都县| 五河县| 苏尼特右旗| 临安市| 塔城市| 琼结县| 新密市| 高阳县| 儋州市| 会同县| 布尔津县| 毕节市| 丰镇市| 衢州市| 赫章县| 大姚县| 汉阴县| 都安| 呈贡县| 岐山县| 高州市| 乌兰察布市| 安新县| 淮安市| 澄城县| 铜鼓县| 康定县|