关于刷新页面计数器不能加1的问题,在线等待

chriswangyan 2005-10-20 09:15:32
我用asp做了一个简易的计数器,将计数的结果保存到txt文本中,这段代码我都没动过,以前统计都很正常,不知道最近这几天统计结果不正确,我发现每当刷新页面的时候,counter不是加1,而是加了9或者其他的数,请大家帮帮我看看下面这段代码的问题出在什么地方?很急,在线等待.......
<%ountFile = server.MapPath("counter1.txt")
Set FileObject=Server.CreateObject("Scripting.FileSystemObject")
Set Out=FileObject.OpenTextFile(CountFile,1,FALSE,FALSE)
counter=Out.ReadLine
Out.Close
set Out = nothing
set FileObject = nothing
if IsEmpty(session("connected")) then
Set FileObject=Server.CreateObject("Scripting.FileSystemObject")
Set Out=FileObject.CreateTextFile(CountFile,TRUE,FALSE)
Application.lock
counter=counter+1
Out.WriteLine(counter)
Application.unlock

Out.Close
set Out = nothing
set FileObject = nothing
end if

session("connected")=true
response.write counter
%>
...全文
282 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
xiangyx 2005-12-20
  • 打赏
  • 举报
回复
<script language = "vbscript" runat = "server">
sub application_onstart
'取的计数文件的真实路径
countfile=server.mappath("count.txt")
'创建文件系统对象实例
set myfso = server.createobject("scripting.filesystemobject")
'若计数文件不存在
if not myfso.fileexists(countfile) then
'创建该文件及取得textstream对象实例
set mytextstream = myfso.createtextfile(countfile, True)
application.lock
application("online") = 0
application("counter") = 0
application.unlock
'将计数值写入文件
mytextstream.writeline(cstr(application("counter")))
else
'以只读的方式打开
set mytextstream = myfso.opentextfile(countfile,1,false)
'读一行,并将值赋给计数变量
application("counter") = mytextstream.readline
end if

mytextstream.close
set myfso = nothing
end sub

sub session_onstart
session.timeout = 1
countfile = server.mappath("count.txt")
set myfso = server.createobject("scripting.filesystemobject")
application.lock
application("online") = application("online")+1
application("counter") = application("counter")+1
application.unlock
'以写方式打开文件
set mytextstream = myfso.opentextfile(countfile,2,false)
'以写行的方式将数据写入文件
mytextstream.writeline(cstr(application("counter")))
mytextstream.close
set myfso = nothing
end sub

sub session_onend
application.lock
application("online") = application("online")-1
application.unlock
end sub
</script>
chriswangyan 2005-10-24
  • 打赏
  • 举报
回复
这个问题还没有解决,请大家帮帮我
chriswangyan 2005-10-20
  • 打赏
  • 举报
回复
是呀,我只是刷新,在我本机上测试是没有问题的,放到网站服务器上就有问题了,不知道为什么,实际上网站每天的访问量并不大,而因为现在的计数问题,导致我的网站每天将近两万人访问,而我在另外一个网站上注册的关于我们网站的访问量统计的数据为两千多,显然是我的计数器出了问题,但是我又不知道问题出在什么地方,请大家帮帮我了
bluesky1314520 2005-10-20
  • 打赏
  • 举报
回复
程序好像没问题啊,你确定只有你在刷新?
chriswangyan 2005-10-20
  • 打赏
  • 举报
回复
请大家帮帮我呀

28,406

社区成员

发帖
与我相关
我的任务
社区描述
ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
社区管理员
  • ASP
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧