明輝手游網(wǎng)中心:是一個(gè)免費(fèi)提供流行視頻軟件教程、在線學(xué)習(xí)分享的學(xué)習(xí)平臺!

轉(zhuǎn):細(xì)說ASP中Counters 組件

[摘要]細(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) %>