关于统计在线人数的问题(100分)

  • 主题发起人 主题发起人 liuqingying2
  • 开始时间 开始时间
L

liuqingying2

Unregistered / Unconfirmed
GUEST, unregistred user!
为什么我的 Session_End事件没有执行?请看我的原码
Sub Application_Start(ByVal sender As Object, ByVal e As EventArgs)
Application("user_sessions") = 0
End Sub
Sub Session_End(ByVal sender As Object, ByVal e As EventArgs)
Application.Lock()
Application("user_sessions") = Application("user_sessions") - 1
Application.UnLock()
End Sub
Sub Session_Start(ByVal sender As Object, ByVal e As EventArgs)
Application.Lock()
Application("user_sessions") = Application("user_sessions") + 1
Application.UnLock()
End Sub
 
我都等一天了,怎么就没有人说话呢,是不值得回复呢还是没有人会呀
太伤人了
 
我都等一天了,怎么就没有人说话呢,是不值得回复呢还是没有人会呀
太伤人了
 
我看不懂你上面的代码是什么意思?这样怎么会是你的在线人数?
 
session end不可靠的,你用别的方法吧
 
怎么看不懂呢,我是在global.asax文件中用Session_Start使来访人数加1,Session_End使来访人数减1
别的还有什么方法呢,我不会,能告诉我吗
 
Session_End必须等client超时才执行
 
to:dcsdcs
谢谢,我验证了,你对了
看来,这个方法不行了,您能告诉我应该怎么做吗
 
你可以采用frame将一个frame设定为width=0隐藏起来,
然后里面采用每20秒中刷新,这样就可以不改变超时900秒,而且及时可以看到在线(20秒内)
就象原来的chat一样
 
比如
<html>
<head>
<meta HTTP-EQUIV="Content-Type" CONTENT="text/html;
charset=gb2312">
<title>思宇软件</title>
</head>
<frameset cols="0%,*" border=1 frameborder="0" framespacing="1">
<frame name="left" target="main" src="left.asp">
<frame name="right" src="readme.htm">
<noframes>
<body>
<p>此网页使用了框架,但您的浏览器不支持框架。</p>
</body>
</noframes>
</frameset>
</html>

然后你在left.asp当中处理数据就可以了!
 
框加我明白,不明白的是:
(1)如何采用每20秒中刷新,难到用html语言,若是那我也会
(2)即使让页面采用每20秒中刷新,但不到900秒,Session_End不会执行,是不是需要改变 timeout的值
(3)我是在asp.net中统计在线,不是在asp中,asp中我已经会了
谢谢!!!
 
to:dcsdcs
对不起:我不给错了分了,太对不起了,
 
后退
顶部