ASP编程:Using the Counters Object (2)
SQLServer是基于服务器端的中型的数据库,可以适合大容量数据的应用,在功能上管理上也要比Access要强得多。在处理海量数据的效率,后台开发的灵活性,可扩展性等方面强大。objectInPart1welookedattheCountersobjectandwhatpurposeitserves;wealsoexamineditsfourmethods.InthispartweregoingtolookattheCountersobjectinabitmoredepthandlookatsomecodetotrackthepopularityofvarioussearchtermsandcodetodisplaythevaluesofallofthecounters!PersistingCounterData:
TheCountersobjectpersistsitsvariouscountersinformation.Thatis,eveniftheWebserverisrebootedthevalueinthesecounterswillnotberesetbacktozero.Thisispossiblebecausethedataforeachcounterisstoredinatextfile,counters.txt.ThisfilewillmostlikelybelocatedinWINNTsystem32orWINNTsystem32inetsrvData.Thefilesstructureisprettystraightfoward.Eachcounterthatyoucreatehasitsownlineinthetextfile.Oneachlinethenameofthecountercomesfirst,followedbyacolon,followedbythevalueofthecounter.Forexample:
HomePage:1935
SomeOtherPage:234
ProductQueries:45
AdvertisementDisplays:35221
Therefore,ifwewantedtodisplaythevaluesofallofourcountersinanASPpagewecouldusesomeverysimpleFileSystemObjectcodetoopenthisfileandreadthecontentsofeachline,displayingthenameofthecounteranditsvalue.Thefunctionpresentedbelowcanbecutandpastedintoyourapplicationtolistthecontentsofeachcounter.
FunctionDisplayCounters()
Thefullphysicalfilenameofthecounterstextfile
ConststrFileName="C:WINNTsystem32inetsrvDatacounters.txt"
DimobjFSO,objTS
SetobjFSO=Server.CreateObject("Scripting.FileSystemObject")
SetobjTS=objFSO.OpenTextFile(strFileName)
Readinthelinesoneatatime
DimstrLine
DoWhileNotobjTS.AtEndOfStream
Readinthelinefromthefile
strLine=objTS.ReadLine()
Displaythecounternameandvalue
Response.Writesplit(strLine,":")(0)&"-"&_
FormatNumber(split(strLine,":")(1),0)&"<br>"
Loop
Cleanup...
objTS.Close
SetobjTS=Nothing
SetobjFSO=Nothing
EndFunction
Withalittlemoreworkyoucouldreadthesevaluesintoatwo-dimensionalarrayandthensortthearrayindescendingorderbythecountervalues.Thenyoucouldselectivelydisplay,say,thetoptencountersorwhatnot.Ifthisinterestsyoubesuretocheckout:SortingaTwo-DimensionalArraywithBubbleSort.
TrackingthePopularityofVariousSearchTerms:
OneveryusefulapplicationfortheCountersobjectwouldbetotrackthepopularityofvarioussearchtermsenteredbyyourusers.Forexample,ifyouhaveasearchengineonyoursite(likethesearchenginehereat4Guys)youmaybecuriouswhatsearchkeywordsarethemostpopular.Totrackthismetric,allyouwouldneedtodoisaddthefollowingcodetothesearchpage:
...
Thisassumesthattheuserssearchtermwaspassedthroughthe
querystringas"SearchTerm"
DimstrSearchTerm
strSearchTerm=Request.QueryString("SearchTerm")
Iftheuserenteredasearchtermthanincrementthecounter
IfLen(strSearchTerm)>0then
objCounter.Increment(strSearchTerm)
EndIf
...
Then,insomereportingscreen,youcanusetheDisplayCounters()functiontolistthevarioussearchtermsandtheirassociatedpopularity.
Conclusion:
ThiswrapsupourexaminationoftheCountersobject.TheCountersobjectisamorepowerfulversionofthePageCounterobject,capableofprovidingmultiplecountersacrossyourentireWebsite.</p>楼上说交互性不好,太牵强了吧。在微软提供的一套框架中,利用asp做网站,开发效率高,使用人数少,减少不必要的开销。交互性是互动方式,是有开发人员决定的。 代码逻辑混乱,难于管理:由于ASP是脚本语言混合html编程,所以你很难看清代码的逻辑关系,并且随着程序的复杂性增加,使得代码的管理十分困难,甚至超出一个程序员所能达到的管理能力,从而造成出错或这样那样的问题。 以HTML语言整合(HTML负责界面上,ASP则负责功能上)形成一个B/S(浏览器/服务器)模式的网页程序。 兴趣爱好,那么你无须学编程,申请一个域名和空间,在网上下载一些免费开源的CMS系统,你不用改代码,只须熟悉它们的后台操作,像office一样简单方便,很快就能建一个站点,很多站长都是这样做的 运用ASP可将VBscript、javascript等脚本语言嵌入到HTML中,便可快速完成网站的应用程序,无需编译,可在服务器端直接执行。容易编写,使用普通的文本编辑器编写,如记事本就可以完成。由脚本在服务器上而不是客户端运行,ASP所使用的脚本语言都在服务端上运行。 下面简单介绍一下我学习ASP的方法,希望对想学习ASP的朋友有所帮助... ASP主要是用好六个对象,其实最主要的是用好其中两个:response和request,就可以随心所欲地控制网页变换和响应用户动作了。 下载一个源代码,然后再下载一个VBScript帮助,在源代码中遇到不认识的函数或是其他什么程序,都可以查帮助进行解决,这样学习效率很高。 代码逻辑混乱,难于管理:由于ASP是脚本语言混合html编程,所以你很难看清代码的逻辑关系,并且随着程序的复杂性增加,使得代码的管理十分困难,甚至超出一个程序员所能达到的管理能力,从而造成出错或这样那样的问题。 Response:从字面上讲是“响应”,因此这个是服务端向客户端发送东西的,例如Response.Write 作为IE上广为流传的动态网页开发技术,ASP以它简单易学博得了广大WEB程序爱好这的青睐,而且它对运行环境和开发品台的不挑剔,以及有大量有效的参考手册,极大的推广了它的发展。
页:
[1]