ASP編程入門進(jìn)階(十五):組件Counters
更新時(shí)間:2007年01月03日 00:00:00 作者:
該組件用于創(chuàng)建一個(gè)或多個(gè)計(jì)數(shù)器,這些計(jì)數(shù)器用于跟蹤某一網(wǎng)頁或某一網(wǎng)站訪問次數(shù)的信息。你只能創(chuàng)建一個(gè)計(jì)數(shù)器組件,但該組件可以有多于一個(gè)的計(jì)數(shù)器。
一旦創(chuàng)建了計(jì)數(shù)器,它將一直持續(xù)下去直到被刪除為止。
計(jì)數(shù)器不會(huì)在一個(gè)事件比如訪問一頁時(shí)自動(dòng)增加。你必須使用Set和Increment方法人工的設(shè)置或增長計(jì)數(shù)器。
計(jì)數(shù)器不受作用域限制。一旦創(chuàng)建了一個(gè)計(jì)數(shù)器,那么站點(diǎn)上的任何頁都可以檢索和控制它的值。
一、Counters.Set & Counters.Get
Counters.Set主要用來設(shè)置記數(shù)初始值,Counters.Get則是用來提取記數(shù)的值。
1,counts_set.asp
用法很簡單,首先“Counters=server.createobject("MSWC.Counters")”表示建立了一Counters組件的連接;Counters.Set "cnbruce",10表示記數(shù)了名為“cnbruce”的初始值10;Counters.Get("cnbruce")就表示提取名為“cnbruce”的記數(shù)值了。
二、Counters.Increment
該方法的功能是:記數(shù)每次加一。在上例中你刷新頁面,記數(shù)是不會(huì)添加的,所以現(xiàn)在換用Increment方法。
2,counts_inc.asp
基本代碼相似,主要就是Counters.Increment的功能累加1。
根據(jù)累加可以做個(gè)簡單的投票系統(tǒng)了。
3,vote.asp
功能是選擇某單選按鈕后提交,其對(duì)應(yīng)的記數(shù)值則Counters.Increment
三、Counters.Remove
該對(duì)象則是起的記數(shù)清空的作用了。
4,remove.asp
通過今天的接觸可以總結(jié)出,一個(gè)簡單的記數(shù)系統(tǒng)已經(jīng)有兩種方法:使用Application對(duì)象、使用Counters組件。但更多的還有采用FSO,或者是需要數(shù)據(jù)庫的就是后話慢慢談了。
在我們使用ASP組件時(shí)候還要注意一些東西:
當(dāng)我們使用服務(wù)器組件創(chuàng)建對(duì)象時(shí),一般有兩種方法。比較常用的方法是用SERVER對(duì)象的CreateObject() 方法,象這樣:
SET NextLink = Server.CreateObject("MSWC.NextLink")
這種方法很好用,但是還有一種方法更節(jié)省系統(tǒng)資源。因?yàn)楫?dāng)你用Server.CreateObject()方法創(chuàng)建對(duì)象時(shí),對(duì)象立即被加載,同時(shí)系統(tǒng)為這個(gè)對(duì)象分配好內(nèi)存和其它資源。
第二種創(chuàng)建對(duì)象的方法是利用HTML的<OBJECT>標(biāo)記,語法是這樣的:
<OBJECT Runat=Sever ID=NextLink ProgID="MSWC.NextLink" ></OBJECT>
利用<OBJECT>標(biāo)記創(chuàng)建對(duì)象時(shí),你要?jiǎng)?chuàng)建的對(duì)象不被馬上加載,而是等到這個(gè)對(duì)象的方法或?qū)傩缘谝淮伪灰脮r(shí)才加載。這樣,我們就會(huì)節(jié)省一些資源。雖然不是很多,但是當(dāng)你的系統(tǒng)每天要承受近百萬次的點(diǎn)擊時(shí),這對(duì)節(jié)省服務(wù)器資源就很有幫助了。(Pine譯注)
如其所言:我們的Counters則可以放于global.asa中
<OBJECT RUNAT=Server SCOPE=Application ID=Counter PROGID="MSWC.Counters"></OBJECT>
一旦創(chuàng)建了計(jì)數(shù)器,它將一直持續(xù)下去直到被刪除為止。
計(jì)數(shù)器不會(huì)在一個(gè)事件比如訪問一頁時(shí)自動(dòng)增加。你必須使用Set和Increment方法人工的設(shè)置或增長計(jì)數(shù)器。
計(jì)數(shù)器不受作用域限制。一旦創(chuàng)建了一個(gè)計(jì)數(shù)器,那么站點(diǎn)上的任何頁都可以檢索和控制它的值。
一、Counters.Set & Counters.Get
Counters.Set主要用來設(shè)置記數(shù)初始值,Counters.Get則是用來提取記數(shù)的值。
1,counts_set.asp
<% Set Counters=server.createobject("MSWC.Counters") Counters.Set "cnbruce",10 Counters.set "it365cn",20 Counters.set "blueidea",30 %> 共有<%= Counters.Get("cnbruce") %>次訪問 cnbruce.com 網(wǎng)站 <br> 共有<%= Counters.Get("it365cn") %>次訪問 it365cn.com 網(wǎng)站 <br> 共有<%= Counters.Get("blueidea") %>次訪問 blueidea.com 網(wǎng)站 <br> |
用法很簡單,首先“Counters=server.createobject("MSWC.Counters")”表示建立了一Counters組件的連接;Counters.Set "cnbruce",10表示記數(shù)了名為“cnbruce”的初始值10;Counters.Get("cnbruce")就表示提取名為“cnbruce”的記數(shù)值了。
二、Counters.Increment
該方法的功能是:記數(shù)每次加一。在上例中你刷新頁面,記數(shù)是不會(huì)添加的,所以現(xiàn)在換用Increment方法。
2,counts_inc.asp
<% Set Counters=server.createobject("MSWC.Counters") %> 共有<%= Counters.Increment("cnbruce") %>次訪問 cnbruce.com 網(wǎng)站 <br> 共有<%= Counters.Increment("it365cn") %>次訪問 it365cn.com 網(wǎng)站 <br> 共有<%= Counters.Increment("blueidea") %>次訪問 blueidea.com 網(wǎng)站 <br> |
基本代碼相似,主要就是Counters.Increment的功能累加1。
根據(jù)累加可以做個(gè)簡單的投票系統(tǒng)了。
3,vote.asp
<% set Counters=server.createobject("MSWC.Counters") vote = Request.QueryString("site") Counters.Increment(vote) %> Vote for your Favorite Site: <FORM NAME="Voting for Sites" METHOD="GET" ACTION="vote.asp"> <input type="RADIO" NAME="site" VALUE="cnbruce">cnbruce <input type="RADIO" NAME="site" VALUE="it365cn">it365cn <input type="RADIO" NAME="site" VALUE="blueidea">blueidea <BR><INPUT TYPE="SUBMIT" VALUE="Submit Vote"> </FORM> Current Vote Tally:<BR> Cnbruce: <% =Counters.Get("cnbruce") %><BR> It365cn: <% = Counters.Get("it365cn") %><BR> Blueidea: <% = Counters.Get("blueidea") %><BR> |
功能是選擇某單選按鈕后提交,其對(duì)應(yīng)的記數(shù)值則Counters.Increment
三、Counters.Remove
該對(duì)象則是起的記數(shù)清空的作用了。
4,remove.asp
<% set Counters=server.createobject("MSWC.Counters") vote = Request.QueryString("site") clear = Request.QueryString("clear") Counters.Increment(vote) If Not clear="" Then Counters.Remove("cnbruce") Counters.Remove("it365cn") Counters.Remove("blueidea") End If %> Vote for your Favorite Site: <FORM NAME="Voting for Sites" METHOD="GET" ACTION="remove.asp"> <input type="RADIO" NAME="site" VALUE="cnbruce">cnbruce <input type="RADIO" NAME="site" VALUE="it365cn">it356cn <input type="RADIO" NAME="site" VALUE="blueidea">blueidea <BR><INPUT TYPE="SUBMIT" VALUE="Submit Vote"> </FORM> Current Vote Tally:<BR> Cnbruce: <% =Counters.Get("cnbruce") %><BR> It365cn: <% = Counters.Get("it365cn") %><BR> Blueidea: <% = Counters.Get("blueidea") %> <FORM NAME="Clear Counters" METHOD="GET" ACTION="remove.asp"> <BR><INPUT TYPE="SUBMIT" VALUE="Clear the Counters" NAME="clear"> </FORM> |
通過今天的接觸可以總結(jié)出,一個(gè)簡單的記數(shù)系統(tǒng)已經(jīng)有兩種方法:使用Application對(duì)象、使用Counters組件。但更多的還有采用FSO,或者是需要數(shù)據(jù)庫的就是后話慢慢談了。
在我們使用ASP組件時(shí)候還要注意一些東西:
當(dāng)我們使用服務(wù)器組件創(chuàng)建對(duì)象時(shí),一般有兩種方法。比較常用的方法是用SERVER對(duì)象的CreateObject() 方法,象這樣:
SET NextLink = Server.CreateObject("MSWC.NextLink")
這種方法很好用,但是還有一種方法更節(jié)省系統(tǒng)資源。因?yàn)楫?dāng)你用Server.CreateObject()方法創(chuàng)建對(duì)象時(shí),對(duì)象立即被加載,同時(shí)系統(tǒng)為這個(gè)對(duì)象分配好內(nèi)存和其它資源。
第二種創(chuàng)建對(duì)象的方法是利用HTML的<OBJECT>標(biāo)記,語法是這樣的:
<OBJECT Runat=Sever ID=NextLink ProgID="MSWC.NextLink" ></OBJECT>
利用<OBJECT>標(biāo)記創(chuàng)建對(duì)象時(shí),你要?jiǎng)?chuàng)建的對(duì)象不被馬上加載,而是等到這個(gè)對(duì)象的方法或?qū)傩缘谝淮伪灰脮r(shí)才加載。這樣,我們就會(huì)節(jié)省一些資源。雖然不是很多,但是當(dāng)你的系統(tǒng)每天要承受近百萬次的點(diǎn)擊時(shí),這對(duì)節(jié)省服務(wù)器資源就很有幫助了。(Pine譯注)
如其所言:我們的Counters則可以放于global.asa中
<OBJECT RUNAT=Server SCOPE=Application ID=Counter PROGID="MSWC.Counters"></OBJECT>
相關(guān)文章
127.0.0.1無法訪問,沒有權(quán)限: GetObject
127.0.0.1無法訪問,沒有權(quán)限: GetObject...2007-02-02ASP編程入門進(jìn)階(二):認(rèn)識(shí)表單
ASP編程入門進(jìn)階(二):認(rèn)識(shí)表單...2007-01-01asp添加數(shù)據(jù)實(shí)現(xiàn)代碼
數(shù)據(jù)代碼程序,接受用戶提交過來的數(shù)據(jù),再保存到數(shù)據(jù)庫教程中很方便等的哦,下面來看個(gè)詳細(xì)的說明實(shí)例吧。2010-09-09