仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 690|回复: 7
打印 上一主题 下一主题

[学习教程] ASP网页设计用ASP编写计数器的优化办法

[复制链接]
不帅 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-16 23:35:17 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
因为现在数据库都使用标准的SQL语言对数据库进行管理,所以如果是标准SQL语言,两者基本上都可以通用的。SQLServer还有更多的扩展,可以用存储过程,数据库大小无极限限制。计数器|优化良多的网站都有记数器,用来纪录网站的会见量,这给网站办理员立即懂得本网站的运转及会见情形供应了良多的便利。笔者研讨过良多用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可以轻松地实现对页面内容的动态控制,根据不同的浏览者,显示不同的页面内容。而浏览者一点觉察不出来,就像为他专门制作的页面一样。使用各种各样的组件,asp可以完成无比强大的功能。
简单生活 该用户已被删除
沙发
发表于 2015-1-20 10:02:37 | 只看该作者
尽管MS自己讲C#内核中更多的象VC,但实际上我还是认为它和Java更象一些吧。首先它是面向对象的编程语言,而不是一种脚本,所以它具有面向对象编程语言的一切特性,比如封装性、继承性、多态性等等,这就解决了刚才谈到的ASP的那些弱点。
老尸 该用户已被删除
板凳
发表于 2015-1-29 06:44:15 | 只看该作者
它可通过内置的组件实现更强大的功能,如使用A-DO可以轻松地访问数据库。
冷月葬花魂 该用户已被删除
地板
发表于 2015-2-5 23:28:31 | 只看该作者
如何学好ASP,以前也有人问过,把回答给你转过来看看能否对你有帮助:
分手快乐 该用户已被删除
5#
发表于 2015-2-14 05:16:32 | 只看该作者
我认为比较好的方法是找一些比较经典的例子,每个例子比较集中一种编程思想而设计的。
兰色精灵 该用户已被删除
6#
发表于 2015-3-4 04:49:17 | 只看该作者
多看多学多思。多看一些关于ASP的书籍,一方面可以扩展知识面一方面可以鉴借别人是如何掌握、运用ASP的;多学善于关注别人,向同学老师多多学习,不论知识的大小;多思则是要将学到的知识灵活运用。
小魔女 该用户已被删除
7#
发表于 2015-3-11 16:57:29 | 只看该作者
封装性使得代码逻辑清晰,易于管理,并且应用到ASP.Net上就可以使业务逻辑和Html页面分离,这样无论页面原型如何改变,业务逻辑代码都不必做任何改动;继承性和多态性使得代码的可重用性大大提高。
金色的骷髅 该用户已被删除
8#
发表于 2015-3-19 02:27:06 | 只看该作者
学习ASP其实应该上升到如何学习程序设计这种境界,其实学习程序设计又是接受一种编程思想。比如ASP如何学习,你也许在以前的学习中碰到过。以下我仔细给你说几点:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-12-23 01:30

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表