asp使用Application来统计在线人数方法
来源:asp之家 发布时间:2007-08-13 12:43:00
标签:在线人数,Application
本文介绍了使用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方法
相关阅读:


猜你喜欢
- 目录1.爬虫文件2.items.py3.pipelines.py4.进行持久化存储之前我们使用lxml对梨视频网站中的视频进行了下载,感兴趣
- 有没有曾经为IE浏览器中长按钮莫名其妙的padding感到困扰?在分析解决方法之前,我们首先来看一下问题所在。在IE中,如果按钮文本比较长,
- <script language="javascript"> /* &nb
- REST_FRAMEWORK 配置对使用 rest_framework 框架的项目来说,可以使用框架的设置来对api的访问频率进行限制RES
- 本文实例讲述了php中使用key,value,current,next和prev函数遍历数组的方法。分享给大家供大家参考。具体分析如下:ph
- NumPy矩阵和向量矩阵在NumPy中,矩阵可以看作是一个二维数组,其中每个元素都可以通过行列坐标来定位。它表示为一个m×
- 最近想尝试一下在IBM Bluemix上使用Python语言创建Web应用程序,所以需要在本地搭建Python Web的开发测试环境。关于P
- 如何只取数据库的前3条记录?怎么控制只取得前3行数据 这要看是什么类型的数据库了,对于Access和SQ
- 用ASP.NET与SQL SERVER可是缘份最好了,稍大的程序一般第一先考虑的是SQL SERVER,只是一些很考虑经济的才使用ACCES
- isnull()Null 值指出变量不包含有效数据。Null 与 Empty 不同,后者指出变量未经初始化。Null 与零长度字符串 (&q
- 如果用户输入的是直接插入到一个SQL语句中的查询,应用程序会很容易受到SQL注入,例如下面的例子:$unsafe_variable = $_
- 图像的轮廓检测,如计算多边形外界、形状毕竟、计算感兴趣区域等。Contours : Getting Started轮廓简单地解释为连接所有连
- 如下所示:func Caller(skip int) (pc uintptr, file string, line int, ok bool
- 使用JDBC连接MySQL数据库进行数据插入的时候,特别是大批量数据连续插入(10W+),如何提高效率呢?在JDBC编程接口中Stateme
- 实现制作抽奖程序,需要认知到我们可以看到一般抽奖程序界面上是有很多按钮的,比如中奖区域,按键开始区域等等,所以我们先要设置界面,然后把这些按
- 本文实例讲述了python协程用法。分享给大家供大家参考。具体如下:把函数编写为一个任务,从而能处理发送给他的一系列输入,这种函数称为协程d
- 时钟实现实现这个时钟时间需要解决以下三个问题:获得当前时间,并格式化如何可以在页面中显示时间让时间动起来1、获得当前时间,并格式化要获得当前
- 本文实例讲述了python实现自动登录人人网并采集信息的方法。分享给大家供大家参考。具体实现方法如下:#!/usr/bin/python#
- MySQL 非空约束(NOT NULL)指字段的值不能为空。对于使用了非空约束的字段,如果用户在添加数据时没有指定值,数据库系统就会报错。可
- 依赖安装Python安装git安装Django1.去Python官网下载Python3.6并配置好环境变量 Python下载地址:https