论坛交流
首页办公自动化| 网页制作| 平面设计| 动画制作| 数据库开发| 程序设计| 全部视频教程
应用视频: Windows | Word2007 | Excel2007 | PowerPoint2007 | Dreamweaver 8 | Fireworks 8 | Flash 8 | Photoshop cs | CorelDraw 12
编程视频: C语言视频教程 | HTML | Div+Css布局 | Javascript | Access数据库 | Asp | Sql Server数据库Asp.net  | Flash AS
当前位置 > 文字教程 > Asp教程
Tag:入门,文摘,实例,技巧,iis,表单,对象,上传,数据库,记录集,session,cookies,存储过程,注入,分页,安全,优化,xmlhttp,fso,jmail,application,防盗链,stream,组件,md5,乱码,缓存,加密,验证码,算法,ubb,正则表达式,水印,,日志,压缩,url重写,控件,函数,破解,触发器,socket,ADO,初学,聊天室,留言本,视频教程

Asp教程:ASP制作计数器(二)

文章类别:Asp | 发表日期:12-08-25

Asp教程:ASP制作计数器(二)

接着上一篇文章继续吧!

例2:计数器改进版
<html>
<head>
<title>计数器改进版</title>
</head>
<body>
<p align="center">您是本网站的第
<font color="blue">
<%
Application.Lock
Application("Num")=Application("Num")+1
Response.Write Application("Num")
Application.UnLock
%>
</font>
位访问者</p>
</body>
</html>

    Application.Lock是锁定对象Application, 使得除了正在访问此变量的用户(或正在运行的进程)外的其它用户(或进程)不能在此时同时访问它, 而Application.UnLock是在对Application("Num")进行修改后, 解除对Application对象的锁定。这样, 就不会出现"与时间有关的问题了", 从而达到进程互斥的目的,也就解决了上述问题。

    但是, 新的问题随之迩来, Application对象是有时间限制的(默认是20分钟), 当超过限制的时间或服务器关机时, Application所记录的访问者数都会消失, 您的工作就前功尽弃了。所以,单纯依靠Application是不行的,该怎么办呢? 请看下集&hellip;…

   
上次我们说到要保存计数结果的问题, 单纯依靠Application是不行的, 我的做法是将计数的结果保存到一个文本文件(假设为Num.txt文件)中。具体步骤如下:

    (1).在服务器上新建一个文本文件, 文件命名为"Num.txt"。打开该文件, 在其第一个字符中输入数字0, save, 这表示最初计数器的值为0;

    (2).用Server.CreateObject(ASP的内建对象Server的"CreateObject函数")创建一个Scripting对象库中的FileSystemObject对象.语句为( 假设对象名为files):
    Set files=Server.CreateObject("Scripting.FileSystemObject")

    (3).用对象files的"OpenTextFile函数"以只读方式打开一个文本文件Num.txt, 并创建一个文本文件对象(假设此对象名为"numtxt"),。此文本文件的路径由对象Server的"MapPath函数"确定(此函数将网络中的"虚拟路径"转换成服务器的"绝对路径")。语句为:
        Set numtxt=files.OpenTextFile(Server.MapPath("文件路径"))
上边语句中OpenTextFile函数可以有三个参数, 第一个参数是必选的, 其余两个未可选可不选。第一个参数为"文件路径"; 第二个参数为"打开方式", 其值可以为ForReading(或1)或ForAppending(或8), 只读方式为"ForReading", 是默认的方式; 第三个参数是当要打开的文件不存在时, 是否创建此文件, 其值可以是True(不存在则创建此文件)或False(反之)。

    (4).用对象 numtxt 的"ReadLine"逐行读取出文件Number.txt中存储的数据, 并将其赋给Application("Num"), 接着用对象numtxt的"Close"关闭文件Number.txt。语句为:
        Application("Num")=numtxt.ReadLine
        numtxt.Close

    (5).将Application("Number")加1,并将计数结果输出到客户机的浏览器上, 语句为:
       Application("Num")=Application("Num")+1
        Response.Write Application("Num")

    (6).用对象files的CreateTextFile函数创建一个新的文件Num.txt, 将原来的那个文件给覆盖掉, 并创建一个文件对象"numtxt":
        Set numtxt=files.CreateTextFile(Server.MapPath("文件路径"),True)
上述语句中CreateTextFile函数的第一个参数是"文件路径"; 第二个参数表示的是"是否覆盖原有的文件", 其值可以是True或False。

    (7).用新创建的文件对象numtxt的 WriteLine 函数将Application("Num")写入新的Num.txt文件中去, 再用numtxt的"Close"将文件Number.txt关闭:
        numtxt.WriteLine(Application("Num"))
        numtxt.Close

    如此一来,不论任何时候,访问量都可以准确安全的保存在文本文件中了。

 

视频教程列表
文章教程搜索
 
Asp推荐教程
Asp热门教程
看全部视频教程
购买方式/价格
购买视频教程: 咨询客服
tel:15972130058