asp使用Application来统计在线人数方法
来源:asp之家 时间:2007-08-13 12:43:00
本文介绍了使用Application来统计访问网站的在线人数的方法,并介绍了使用Application时应该注意的事项。首先讲明白,用ASP不可能完全精确的计算在线人数,我们这里把时间间隔设为5分钟
看一个例子
Global.asa
<SCRIPT LANGUAGE=VBS RUNAT=Server>
Sub Application_onStart
Set Application("online")=Server.CreateObject("ADODB.Connection")
Application("onlinedb")=Server.Mappath("\asp\db\home.mdb")
'这步是必须的,因为在Session_OnEnd里不能使用Server.MapPath
End Sub
Sub Session_OnStart
Session.Timeout=5 '设置Session的过期时间为5分钟,默认为20分钟
End Sub
Sub Session_OnEnd
Application.Lock '记住对Application对象的所有操作都要先Lock,操作完了,Unlock,防止冲突
Application("online").ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Application("onlinedb")
Application("online").Open
Application("online").Execute "Update online Set online=False Where username='" & Session("user") & "'"
'根据用户名来把数据库中相应表的online字段设为False,相当于表示用户下线
Application("online").Close
Application.Unlock
End Sub
Sub Application_OnEnd
Application.Removeall()
End Sub
</SCRIPT>
在用户登录时
Application.Lock()
Application("online").ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.Mappath(Application("home"))
Application("online").Open
Application("online").Execute "Update online Set timein=#"&Date() &" "&Time()&"#, online=True Where username='" & Session("user") & "'"
'把相应用户的online字段设置为True,这样在后面就可以通过SQL查询,得到在线用户
Application("online").Close
Application.UnLock()
显示在线人数
set rs=Server.CreateObject("ADODB.Recordset")
rs.open "select online from online where online=True","数据库连接字符串",1,3
'所有online=True的用户就是当前在线的用户
Response.Write(rs.RecordCount)
rs.close
set rs=nothing
'显示在线人列表就不细说了,给你个SQL吧
rs.open "select username,timein from online where online=True","数据库连接字符串",1,3
username为用户名,timein是用户登录时的时间
给你几个注意事项:
Application_OnStart:在此事件中只有Application和Server对象可以使用,其它对象的使用都会发生错误
Application_OnEnd:在此事件中只有Application和Server对象可以使用,其它对象的使用都会发生错误,不可以使用Server.MapPath方法
Session_OnStart:所有对象都可以使用
Session_OnEnd:在此事件中只有Application,Session和Server对象可以使用,其它对象的使用都会发生错误,不可以使用Server.MapPath方法
相关阅读:
标签:在线人数,Application
0
投稿
猜你喜欢
js验证表单(form)中的单选(radio)值
2008-03-18 13:23:00
解决 myJSFrame 框架中 Ajax 方法一处明显的内存泄露
2008-03-09 19:14:00
css网页下拉菜单制作方法(4):定位问题
2007-02-03 11:39:00
通过事务日志解决SQL Server常见四大故障
2009-03-25 16:06:00
sqlserver 数据库连接字符串中的可选项收集
2011-10-24 19:48:37
Web2.0视觉风格进化论 之一
2007-11-03 19:58:00
如何把一长串数字分位显示?
2009-11-06 14:01:00
SQLServer 跨库查询实现方法
2012-04-13 12:07:09
浅议Wap网页设计中的锚点链接
2010-12-17 12:41:00
IE7兼容模式与兼容视图
2010-06-28 18:48:00
CSS 的模块化思想
2009-02-03 12:52:00
mysql分表的3种方法
2011-01-29 16:50:00
快速掌握如何使用SQL Server来过滤数据
2009-01-15 13:27:00
如何优化下面这段代码?
2010-01-23 11:30:00
mysql出现10061错误解决办法
2010-07-04 13:36:00
我所理解的网页推广设计的几个要点
2011-01-25 12:37:00
写给应聘页面重构的同学
2009-03-18 11:01:00
Oracle数据库的空间管理技巧
2010-07-26 13:16:00
Web 标准设计实践:Google 的首页
2008-10-12 12:14:00
浏览器的字体等宽空格
2008-08-28 12:25:00