变相怪杰 发表于 2015-1-16 23:35:36

ASP教程之优化你的计数器

ASP在国内异常流行,因为国内大多使用的是盗版的Windows和盗版的SQLServer,而ASP+COM+SQLServer实际上也是一种不错的搭配,其性能也不输于PHP+MYSQL,特别是Windows系统和SQLServer都有图形界面,比APACHE和MYSQL易于维护,因此对于不重视知识产权的国家来说也是一种不错的选择。计数器|优化用ASP编写计数器的优化办法

良多的网站都有记数器,用来纪录网站的会见量,这给网站办理员立即懂得本网站的运转及会见情形供应了良多的便利。笔者研讨过良多用ASP编写的计数器程序,发明年夜部分都是在一个访客会见站点的时分就打文本文件或数据库,读取之前的计数值举行加1,然后再写进文件,若网站会见量很年夜,大概会对体系形成很年夜的包袱,那末有无优化的办法呢,笔者经由研讨测试,谜底是:有。

熟习ASP的伴侣都晓得,ASP供应一个Application属性用来保留服务器的一些大众变量,我们能够用这个变量来保留记数器的信息。

思绪是先设定两个Application变量,一个Application(“TotalCount”),用来保留记数值;另外一个Application(“LastwriteTime”),用来保留前次把记数值保留到文件的工夫。我们能够本人界说把计数值保留到文件的距离工夫,好比1小时、1天大概一个月。在有访客访网站的时分,让Application(“TotalCount”)举行加1,假如前次保留计数的工夫与如今的工夫差年夜于我们设定的保留工夫距离值,那末就把以后的计数值写进文件保留,如许就削减了程序的IO操纵,勤俭了体系的包袱。

为了不产生不测,如断电大概服务器中断反响需待重启等,我们能够设定保留工夫距离为2小时,如许即便产生不测,丧失也不会太年夜。

例程以下:

<%

DimoFSO界说FSO组件工具

DimoFile  界说读写文件工具

DimnCount 界说从文件中读取的记数值

DimsFilePath界说计数器保留文件的路径

ConstiInterval=2界说保留工夫距离为2小时

SFilePath=Server.MapPath("Count/Count.txt")假定计数器文件在根目次下的Count目次中,文件名为Count.txt

IFApplication("TotalCount")=0orApplication("TotalCount")=""THEN

假如第一次运转网站,好比重启后,我们就必要从文件中读掏出之前的计数值

   SetoFSO=Server.CreateObject("Scripting.FileSystemObject") 实例化文件操纵工具oFSO

IFnotoFSO.FileExists(sFilePath)THEN

OFile=oFSO.CreateTextFile(sFilePath,true)假如文件不存在,则创立一个文



     oFile.Write("1")写进以后的计数值"1"

oFile.close

Application("TotalCount")=1

ELSE

SetoFile=oFSOt.OpenTextFile(sFilePath)

NCount=OFile.ReadLine

Application("TotalCount")=Clng(nCount)+1

OFile.close

EndIF

Application("LastwriteTime")=Now设置最初一次会见的工夫为以后工夫



ELSE

Application("TotalCount")=Application("TotalCount")+1

IFDateDiff("H",Application("LastwriteTime"),Now)>iIntervalTHEN

假如以后工夫与前次保留计数值的工夫差年夜于设定的工夫距离,则把计数值从头写进文件

SetoFSO=Server.CreateObject("Scripting.FileSystemObject") 实例化文件操纵工具oFSO

OFile=oFSO.OpenTextFile(sFilePath,true)翻开文件

oFile.Write(Application("TotalCount"))写进以后的计数值

oFile.close

Application("LastwriteTime")=Now设置最初一次会见的工夫为以后工夫

ENDIF

EndIF

Response.Write("接待到临本网站,你是会见本网站的第"&Application("TotalCount")&"位访客!")

%>

本例程在Windows2000IIS5.0下经由过程。
</p>强大的可扩展性。ASP具有强大的扩展性,可以实现与多种网络、硬件设备的连接:通过专用的通讯线路远程接入企业;通过远程拨号服务器为远程拨号客户提供服务;通过WAP为移动电话互联网客户服务。

因胸联盟 发表于 2015-1-20 10:06:11

在平时的学习过程中要注意现学现用,注重运用,在掌握了一定的基础知识后,我们可以尝试做一些网页,也许在开始的时候我们可能会遇到很多问题,比如说如何很好的构建基本框架。

老尸 发表于 2015-1-26 05:01:53

运用经典的例子。并且自己可以用他来实现一些简单的系统。如果可以对他进行进一步的修改,找出你觉得可以提高性能的地方,加上自己的设计,那就更上一个层次了,也就会真正地感到有所收获。

山那边是海 发表于 2015-2-2 06:44:03

没有坚实的理论做基础,那么我们连踏入社会第一步的资本都没有,特别对于计算机专业的学生学好专业知识是置关重要的。在这里我侧重讲一下如何学习ASP,从平时的学习过程中。

爱飞 发表于 2015-2-7 16:53:24

代码逻辑混乱,难于管理:由于ASP是脚本语言混合html编程,所以你很难看清代码的逻辑关系,并且随着程序的复杂性增加,使得代码的管理十分困难,甚至超出一个程序员所能达到的管理能力,从而造成出错或这样那样的问题。

分手快乐 发表于 2015-2-22 16:23:46

Response:从字面上讲是“响应”,因此这个是服务端向客户端发送东西的,例如Response.Write

精灵巫婆 发表于 2015-3-7 00:56:12

我想问如何掌握学习节奏(先学什么再学什么)最好详细点?

兰色精灵 发表于 2015-3-13 23:09:39

还有如何才能在最短的时间内学完?我每天可以有效学习2小时,双休日4小时。

海妖 发表于 2015-3-20 21:38:29

多看多学多思。多看一些关于ASP的书籍,一方面可以扩展知识面一方面可以鉴借别人是如何掌握、运用ASP的;多学善于关注别人,向同学老师多多学习,不论知识的大小;多思则是要将学到的知识灵活运用。
页: [1]
查看完整版本: ASP教程之优化你的计数器