轉(zhuǎn):細(xì)說ASP中Counters 組件
發(fā)表時間:2024-01-21 來源:明輝站整理相關(guān)軟件相關(guān)文章人氣:
[摘要]細(xì)說ASP中Counters 組件概述Counter 組件創(chuàng)建一個可創(chuàng)建、存儲、增長和檢索任何數(shù)量的獨立計數(shù)器的 Counters 對象。計數(shù)器是一個包含整數(shù)的持續(xù)值?梢允褂 Counters 對象的 Get、Increment、Set 和 Remove 方法控制計數(shù)器。一旦您創(chuàng)建了計數(shù)器,它將...
細(xì)說ASP中Counters 組件
概述
Counter 組件創(chuàng)建一個可創(chuàng)建、存儲、增長和檢索任何數(shù)量的獨立計數(shù)器的 Counters 對象。
計數(shù)器是一個包含整數(shù)的持續(xù)值?梢允褂 Counters 對象的 Get、Increment、Set 和 Remove 方法控制計數(shù)器。一旦您創(chuàng)建了計數(shù)器,它將一直持續(xù)下去直到被刪除為止。
計數(shù)器不會在一個事件比如訪問一頁時自動增加。您必須使用 Set 和 Increment 方法人工的設(shè)置或增長計數(shù)器。
計數(shù)器不受作用域限制。一旦您創(chuàng)建了一個計數(shù)器,那么您的站點上的任何頁都可以檢索和控制它的值。例如,若您在一個名為 Page1.asp 的頁上顯示和增加一個叫做 hits 的計數(shù)器的值,而又在另一個叫做 Page2.asp 的頁上增加 hits 的值,則兩頁將增加同一計數(shù)器。若您訪問 Page1.asp 時,計數(shù)器的值增加到 34,則訪問 Page2.asp 會將 hits 增加到 35。下一次訪問 Page1.asp,hits 將增加到 36。
所有計數(shù)器都存儲在一個單獨的名為 counters.txt 的文本文件中,它同 counters.dll 文件存儲在同一目錄下。
文件名
counters.dll Counters 組件。
counters.txt 該文件在一個站點上存儲所有獨立的計數(shù)器。counters.txt 是一個 UTF8 編碼文件。您可以在計數(shù)器名稱中使用任何 Unicode 字符。
語法
將下列內(nèi)容加入到 global.asa 文件中在您的服務(wù)器上可一次性創(chuàng)建 Counters 對象:
<OBJECT
RUNAT=Server
SCOPE=Application
ID=Counter
PROGID="MSWC.Counters">
</OBJECT>
注冊表項
無。
注釋
在您的站點上僅創(chuàng)建一個 Counters 對象。這一單個 Counters 對象可以創(chuàng)建任意數(shù)量的獨立計數(shù)器。
注意 對于 Windows? 95 上的 Personal Web Server,已在默認(rèn)的虛擬目錄下的 global.asa 文件 中指定了一個 Counters 組件。可以通過調(diào)用 Counters.Get、Counters.Increment、Counters.Remove 和 Counters.Set 使用組件創(chuàng)建的 Counters 對象,就好象它是內(nèi)建的一樣。您不可以創(chuàng)建 Counters 對象的其他實例。
方法
Get 返回計數(shù)器的值。
Increment 計數(shù)器的值加一。
Remove 從 counters.txt 文件中刪除計數(shù)器。
Set 將計數(shù)器的值設(shè)為一個特定的整數(shù)。
示例
通過將 ID 屬性設(shè)置為 Counter,在 global.asa 文件中創(chuàng)建 Counters 對象的實例:
<OBJECT RUNAT=Server SCOPE=Application ID=Counter PROGID="MSWC.Counters">
</OBJECT>
然后就可以在某一頁上使用 Counters 對象創(chuàng)建全部所需的計數(shù)器:
There have been <%= Counter.Increment('defaultPageHits') %> to this site.
然后在另一頁上就可以使用下列方法增加計數(shù)器的值:
You are visitor number<%= Counter.Increment('LinksPageHits') %> to this page.
注意 該組件可從包含 IIS IIS Resource Kit 的 CD 中得到。
Get方法
Get 方法根據(jù)計數(shù)器的名稱返回此計數(shù)器的當(dāng)前值。若此計數(shù)器不存在,則該方法創(chuàng)建它并將其置為 0。
語法
Counters.Get(CounterName)
參數(shù)
CounterName
包含計數(shù)器名稱的字符串。
示例
用 <%= Counters.Get(CounterName) %> 可顯示計數(shù)器的值。用 <% countervar = Counters.Get(CounterName) %> 將計數(shù)器的值賦給一個變量。
下列腳本顯示關(guān)于所喜愛的顏色的民意測驗的投票記分。
<% If colornumber = "1" Then
Counters.Increment("greencounter")
Else
If colornumber = "2" Then
Counters.Increment("bluecounter")
Else
If colornumber = "0" Then
Counters.Increment("redcounter")
End If
End If
End If %>
<P>Current vote tally:
<P>red: <% =Counters.Get("redcounter") %>
<P>green: <% = Counters.Get("greencounter") %>
<P>blue: <% = Counters.Get("bluecounter") %>
Increment方法
Increment 方法根據(jù)計數(shù)器的名稱,將該計數(shù)器的值加 1,并返回計數(shù)器的新值。若計數(shù)器不存在,此方法將創(chuàng)建該計數(shù)器并將其值設(shè)為 1。
語法
Counters.Increment(CounterName)
參數(shù)
CounterName
包含計數(shù)器值的字符串。
示例
使用 <% Counters.Increment(CounterName) %> 可增加計數(shù)器的值。使用 <%= Counters.Increment(CounterName) %> 可增加和顯示計數(shù)器的值。
為了獲取計數(shù)器的值,可使用 Counters.Get。要將計數(shù)器的值設(shè)為一個特殊值,請使用 Counters.Set。
下列代碼實現(xiàn)聯(lián)機頁訪問計數(shù)器。
<P>There have been <%= Counters.Increment("hits") %> visits to this Web page.
</P>
在上面的示例中,每次客戶端向服務(wù)器發(fā)出頁請求時,都使用 Counters.Increment 將計數(shù)器的值加 1。
Remove方法
Remove 方法根據(jù)計數(shù)器的名稱,從 Counters 對象和 counters.txt 文件中刪除計數(shù)器。
語法
Counters.Remove(CounterName)
參數(shù)
CounterName
包含計數(shù)器名稱的字符串。
示例
下列代碼從 counters.txt 文件中刪除計數(shù)器 hitscounter 。
<% Counters.Remove(hitscounter) %>
Set方法
Set 方法根據(jù)計數(shù)器的名稱和一個整數(shù)參數(shù),將計數(shù)器設(shè)置為該整數(shù)值,并返回此新值。若該計數(shù)器不存在,則 Counters.Set 創(chuàng)建計數(shù)器并將其值設(shè)為這一整數(shù)。
要獲取計數(shù)器的值,可使用 Counters.Get。要使計數(shù)器的值加一,可使用 Counters.Increment。
語法
Counters.Set(CounterName, int)
參數(shù)
CounterName
包含計數(shù)器名稱的字符串。
int
CounterName 的新的整數(shù)值。
示例
下列代碼將訪問計數(shù)器 pageHits 重置為 0。
<% Counters.Set(pageHits, 0) %>