說明
多數網站都有一個訪客計數器,雖然只是簡單的功能但確實是一個會自動改變的部份,具備了互動式網頁的特徵。
它運作的原理是:
1.網站內有個檔案(或資料庫)寫著目前已經有多少人來點閱這個網頁。
2.網頁開啟時ASP程式會讀取這個檔案內容,將此數字加一並顯示在網頁上。
3.將新數字寫入這個檔案(或資料庫)。

其中比較特別的是:
1.檔案的處理,通常網站不是你的私人電腦空間,檔案的路徑與權限和在自己的電腦寫程式不同。
2.訪客計數器是網站公用的變數,每個不同訪客都會同時看到一樣的這個數字。

標準作法如下:
網站→加入新項目→全域應用程式類別

在事件中寫程式如下:

Application("變數名稱")表示一個全網站公用的變數,可以跨網頁跨使用者都共用!
它開始作用於網站開張(Application_Start),也就是網頁伺服器啟動時;
在此例中,網站開張時設定訪客人數為零!
結束於網頁伺服器關閉,一般網站開機就會啟動,網站主機關閉時就是Application_End了!
Session(工作階段)則是指某個使用者進入網站開啓首頁到離開之間的時間,
在此例中使用者進入時訪客數加一!

接著請在首頁(Default.aspx)中加入一個Label,在Page_Load中用來變更計數
Label1.Text =  Application("N")
此變數只在 如果不用Label也可以直接寫資料到網頁:
 Response.Write(Format(Val(Session("N")), "00000"))
Label1.Text = Format( Val(Application("N")), "00000")
Val 將文字變數轉為數字,"00000"表示沒有數字時補零

上述作法有個缺點,如果網站關閉維修,下一次開啓時訪客人數會歸零!
下面是將訪客人數隨時記在一個文字檔案(N.txt)的程式寫法,當然開站時會先讀這個檔案。

其中Server.Mappath指網站所在的絕對位置,譬如C:\Website1等等。
這樣寫即使以後網站搬到D磁碟也不必改程式!
請注意到Session_End(使用者離線)與Application_End事件(譬如斷電)通常未必會偵測到,
所以不要將記錄人數的程式寫到這兩個事件中,以免資料遺失!
說明:
1. Server.MapPath是用來取得網站內的檔案實體路徑,在讀寫檔案時必須要知道這個路徑,但是通常我們只知道網站內要操作的檔名(在此是TextFile.txt),至於我的網站被放到伺服器的C或D磁碟等等則無從得知。因此必須用此指令找到完整路徑。
2. My.Computer.FileSystem.ReadAllText讀取整個檔案內容,在此只是一個數字。
3. My.Computer.FileSystem.WriteAllText(Fn, N, False)將新數字寫回檔案,False表示不接續寫入,就是將原數字蓋掉!
4. 上例中有些地方忽略了數字與文字的轉換,這是VB可以容許的自動轉換。
5. 請注意如果你的文字檔裡面有中文字,就一定要加入 System.Text.Encoding.Default這個參數,如:
 Dim N As Integer = My.Computer.FileSystem.ReadAllText(Fn, System.Text.Encoding.Default)
 My.Computer.FileSystem.WriteAllText(Fn, N.ToString, False, System.Text.Encoding.Default)