蔡鸟问题 关于计数器 请大侠 赐教!

leieic 2003-11-19 09:57:01
问题: 计数器统计的数据不能存到根目录的相关文件里面
每次服务器重起就得重新开始计数, 我调不出来 请大侠们看看那有问题!
第一次问问题 不知道分够不够 不够在加 ! 求教了

global.asa

<script language="VBScript" runat="server">
sub Application_OnStart

set fs = server.CreateObject("scripting.filesystemobject")
counter_file=Server.MapPath ("/counter.txt")

set txt = fs.opentextfile(counter_file)
Application("counter")=txt.readline
txt.close

end sub

sub Session_OnStart
Application("counter")=Application("counter") + 1
end sub

sub Session_OnEnd

set fs = server.CreateObject("scripting.filesystemobject")
counter_file=Server.MapPath ("/counter")
set txt = fs.createtextfile( counter_file,true)
txt.writeline(Application("counter"))
txt.close

end sub

</script>

index.asp

<%Application.Lock%>
<%=application("counter")%>
<%Application.UnLock%>
...全文
30 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
leieic 2003-11-21
  • 打赏
  • 举报
回复
再次感谢 各位的帮助
leieic 2003-11-21
  • 打赏
  • 举报
回复
谢谢各位大侠 接受youxuesifang(游学) 和ManZY(白桦*_*) 建议 用数据库
结帖
youxuesifang 2003-11-20
  • 打赏
  • 举报
回复
如果想在session_OnEnd事件过程里面保存结果的话,我劝你还是用数据库来处理吧。
youxuesifang 2003-11-20
  • 打赏
  • 举报
回复
晕,刚才没有注意,session_onend事件过程中是不能使用server的mappath方法的。
leieic 2003-11-19
  • 打赏
  • 举报
回复

to : ManZY(白桦*_*) 呵呵 兄弟你的方法 我已经实现了 就是不知道为什么用global.asp 做不出来 很郁闷


to : tomelir(秋霜叶展) 1 不是默认属性么 我试了一下 还是不行
tomelir 2003-11-19
  • 打赏
  • 举报
回复
把fs.openTextFile("counter.txt")
改成 fs.openTextFile("counter.txt",1),只读属性读入,
leieic 2003-11-19
  • 打赏
  • 举报
回复
呵呵 我才晕了 先 谢了大家

to : tuoshi(小才) 我改过来了 还是不行

to : youxuesifang(游学) 保存是同一个文件

这是服务器报的错误:

警告:: IIS 日志写入失败,文件//global.asa 行25 无效服务器方法调用. 在 Session_OnEnd 及 Application_OnEnd 时不能调用此服务器对象的方法。。
若要获取关于此消息的更多的信息,请访问 Microsoft 联机支持站点: http://www.microsoft.com/contentredirect.asp 。

第25 行 就是tuoshi(小才) 提示的那一行 我修改了 还是不行 继续郁闷!~~~~
leieic 2003-11-19
  • 打赏
  • 举报
回复
不好意思 我再说一遍

我的意思:是 计数器 不能把数据写入到网站的根目录下的counter.tzt文件中

网站访问统计的初始值 1000 保存在counter.txt中,主页中记录的数据 ,例如
访问量增加到1042人次 这个数值保存不到counter.txt中 所以服务器一重起
统计的数据就会丢失,重新从1000开始计数。 郁闷死了~~~~

youxuesifang 2003-11-19
  • 打赏
  • 举报
回复
晕,打完字已经慢了这么多,同意小才的意见。
youxuesifang 2003-11-19
  • 打赏
  • 举报
回复
兄弟,我看,你在Application_OnStart中读取的文件,和在Session_OnEnd中写入的文件不是同一个文件啊。所以,你的计数才会中心开始吧?
ManZY 2003-11-19
  • 打赏
  • 举报
回复
哦。
你的意思是记数器在每次服务器重新启动的时候都复位了?
你可以把它储存到数据库中相应表中,然后每次都读数据库。
tuoshi 2003-11-19
  • 打赏
  • 举报
回复
sub Session_OnEnd

set fs = server.CreateObject("scripting.filesystemobject")
counter_file=Server.MapPath ("/counter")
set txt = fs.createtextfile( counter_file,true)
txt.writeline(Application("counter"))
txt.close

end sub

里面的
counter_file=Server.MapPath ("/counter")
应为
counter_file=Server.MapPath ("/counter.txt")
DeltaCat 2003-11-19
  • 打赏
  • 举报
回复
你说的不是太明白啊

28,407

社区成员

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

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