为什么不能统计在线人数?

lanying 2001-08-02 11:56:31
我的gloab.asa文件如下:
<script language="vbscript" runat="server">
sub application_onstart
application("intOnlineUser")=0
end sub

sub session_onstart
application.Lock()
application("intOnlineUser")=application("intOnlineUser") + 1
application.UnLock()

session("ok")=""
session("username")=""
session("power")=0
end sub
sub session_onend
application.Lock()
application("intOnlineUser")=application("intOnlineUser") - 1
application.UnLock()
end sub

</script>
我这样为什么不能统计在线人数?
...全文
146 点赞 收藏 17
写回复
17 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
lanying 2001-08-23
到底有没有好办法呀?
大家都来说一说呀
回复
ma_yunpeng 2001-08-13
session_onend()是session.timeout参数控制的,当用户在timeout设定的时间内没有发出请求,就执行session_onend()。session.timeout默认的是20分钟,你可以把它设为10分钟或5分钟。
回复
sanjianxia 2001-08-13
我是遇到同样的问题,采用global.asa记数不准确.关闭之后打开数据累加而不减少.
回复
lanying 2001-08-04
那么在什么是基调用呢?是不是得做成一个不断刷新的网页?
回复
smalle 2001-08-04
用unload方法可以捉到用户关闭的请求。
回复
lanying 2001-08-04
那么怎样判断用户关闭了浏览器呢?
回复
smalle 2001-08-04
你关闭浏览器session_onend也不是立刻发生的,等到你关闭浏览20分钟后才发生的。
回复
smalle 2001-08-04
是的。
可能你想做一个聊天室吧。
你可以做一个页面每隔几秒钟就刷新一次,检查有没有用户退出,方法你查找一下就有很多的贴子
回复
neweb 2001-08-03
gloab.asa 文件有没有放在 web 站点的根目录下?
回复
lanying 2001-08-03
session_onend时间触发的时机到底是什么?
回复
lanying 2001-08-03
放了
每次打开一个浏览器都加一,而关了以后却不减一
按理说session_onend事件发生在用户关闭浏览器或着20分钟没动页面时发生
让application("intOnlineUser")=application("intOnlineUser") - 1是对的
可是我先打开一个浏览器显示为1,在打开一个显示为2
而关了一个在打开一个确显示为3
到底session_onend事件发生在什么时候?

回复
lanying 2001-08-03
不好意思,是global.asa我拚错了
到底有没有好的办法?
回复
aspdiyer 2001-08-03
错了!!!!!!
是GLOBAL.ASA
回复
lanying 2001-08-03
大家帮忙呀
我可是很急呀
回复
lanying 2001-08-03
现在的关键是session_onend事件发生于什么时机?

回复
wzg2000 2001-08-03
用这种统计方法统计出来的访问量不太准确
这样做的缺点是,在缺省的情况下,每个Session只存活20分钟,在用户打开网页超过20分钟时,记录会出错。
更复杂的做法是在网页打开时,记录用户的Cookie,并记录到一个文件中,同时增加一个计数,在用户离开时,在记录的文件中删除用户记录,减少计数。这个方法可靠,不过实现起来不易。
回复
lanying 2001-08-03
怎么没人回答?
说说吧
回复
相关推荐
发帖
ASP
创建于2007-09-28

2.8w+

社区成员

ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
申请成为版主
帖子事件
创建了帖子
2001-08-02 11:56
社区公告
暂无公告