教程中国
PHOTOSHOP CS9.0中文版 MAYA 8.5 FOR WINDOWS Corel Painter v9.0 Flash MX2004 中文版 Illustrator cs2 中文版
VC++6.0含sp6 中英文版 VB6.0 +sp6 简体中文版 Borland Delphi 7汉化版 MSDN for vb6.0中文版 Visual Studio 2005简体
教程中国下属 文件存储共享专家BIBIDU.COM 提供大型软件,教材,源码,电影,音乐,图书等下载 更多精品请点此进入
  您目前所在位置: 教程中国 >> 编程基地 >> ASP >> 用ASP编写计数器的优化方法 RSS订阅
用ASP编写计数器的优化方法
教程(视频,书籍)下载:  ASP.NET AutoCAD 数据库 C# ASP java photoshop 网页设计 delphi 3dmax Flash C++ VB 张孝祥 实例   更多请进入BIBIDU搜索
IT搜索引擎   
很多的网站都有记数器,用来记录网站的访问量,这给网站管理员即时了解本网站的运行及访问情况提供了很多的方便。笔者研究过很多用ASP编写的计数器程序,发现大部份都是在一个访客访问站点的时候就打文本文件或数据库,读取以前的计数值进行加1,然后再写入文件,若网站访问量很大,可能会对系统造成很大的负担,那么有没有优化的方法呢,笔者经过研究测试,答案是:有。

熟悉ASP的朋友都知道,ASP提供一个Application属性用来保存服务器的一些公共变量,我们可以用这个变量来保存记数器的信息。

思路是先设定两个Application变量,一个Application(“TotalCount”),用来保存记数值;另一个Application(“LastwriteTime”),用来保存上次把记数值保存到文件的时间。我们可以自己定义把计数值保存到文件的间隔时间,比如1小时、1天或者一个月。在有访客访网站的时候,让Application(“TotalCount”)进行加1,如果上次保存计数的时间与现在的时间差大于我们设定的保存时间间隔值,那么就把当前的计数值写入文件保存,这样就减少了程序的IO操作,节约了系统的负担。

为了避免发生意外,如断电或者服务器停止反应需待重启等,我们可以设定保存时间间隔为2小时,这样即使发生意外,损失也不会太大。

例程如下:

<%

Dim oFSO ''定义FSO组件对象

Dim oFile  ''定义读写文件对象

Dim nCount ''定义从文件中读取的记数值

Dim sFilePath ''定义计数器保存文件的路径

Const iInterval=2 ''定义保存时间间隔为2小时

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

IF Application("TotalCount")=0 or Application("TotalCount")="" THEN

''如果第一次运行网站,比如重启后,我们就需要从文件中读取出以前的计数值

   Set oFSO=Server.CreateObject("Scripting.FileSystemObject") ''实例化文件操作对象oFSO

IF not oFSO.FileExists(sFilePath) THEN

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



      oFile.Write("1") 写入当前的计数值"1"

oFile.close

Application("TotalCount")=1

ELSE

Set oFile = oFSOt.OpenTextFile(sFilePath)

NCount=OFile.ReadLine

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

OFile.close

End IF

Application("LastwriteTime")= Now ''设置最后一次访问的时间为当前时间



ELSE

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

IF DateDiff("H", Application("LastwriteTime"),Now)>iInterval THEN

''如果当前时间与上次保存计数值的时间差大于设定的时间间隔,则把计数值重新写入文件

Set oFSO=Server.CreateObject("Scripting.FileSystemObject") ''实例化文件操作对象oFSO

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

oFile.Write(Application("TotalCount")) ''写入当前的计数值

oFile.close

Application("LastwriteTime")= Now ''设置最后一次访问的时间为当前时间

END IF

End IF

Response.Write("欢迎光临本网站,你是访问本网站的第" & Application("TotalCount") & "位访客!")

%>

本例程在Windows2000 IIS5.0下通过。



来源:upschool.com.cn
作者:
关键字:用ASP编写计数器,优化方法
发表日期:2005-10-28

网页显示有限 阅读全文请下载本文完整版WORD文档

上一篇:用通ASP直接获取用户真实IP地址   下一篇:利用stream直接下载文件


2009-1-8 21:38:57
本文的相类似文章
  • 分解查询的优化方法全面分析
  • VB中OLE调用的优化方法
  • PHP开发程序加速运行探索之慢代码优化方法
  • 环境模型参数优化方法的比较
  • 智能建筑暖通空调系统优化方法研究
  • VB中OLE调用的优化方法
  • Unix的五条优化的技巧和及时的优化方法
  • 从编译到工具:几种Mysql的优化方法
  • .NET 2.0远程传输数据集的优化方法
  • 用ASP编写计数器的优化方法
  • 在学习中进步 在进步中成长 教程中国相随您的成长之路
    华腾联合科技股份有限公司版权所有
    广告联系:Rosibo@163.com