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