打印本文 打印本文 关闭窗口 关闭窗口
利用ASP显示当前在线人数
作者:武汉SEO闵涛  文章来源:敏韬网  点击数744  更新时间:2009/4/23 10:25:31  文章录入:mintao  责任编辑:mintao
  眼下,作网站已成为一种时尚,各式各样的网站如雨后春笋般冒了出来。有用CGI制作的,有用ASP制作的,还有用PHP制作的,不一而足。有一些网站则能统计出当前的在线人数,如:“目前有32人在线”。那么,用ASP制作的网站怎样显示当前的在线人数呢?

  当用ASP制作的网页都存放与WWW服务器的基点目录并且WWW服务器启动之后,每当有对ASP文件的HTTP请求时,服务器都会去读取基点目录下的Global.asa文件。为了统计网站的在线人数,我们可以在Global.asa文件中包含如下代码:

$#@60;SCRIPT LANGUAGE="VBScript" RUNAT="Server"$#@62;
Sub Application_OnStart

   当服务器开启时,设置用户计数器为0
Application("ActiveUsers") = 0
End Sub
Sub Session_OnStart

   设置Session对象的有效时间为20分钟(也可以更长,但是越长对服务器的资源 占用越多,因为服务器不接受少于20分钟的有效时间,所以设置少于20分钟的有效时间是无效的)
Session.Timeout = 20

   当开始一个Session时用户计数器加1
Application.Lock
Application("ActiveUsers") = Application("ActiveUsers") + 1
Application.UnLock
End Sub
Sub Session_OnEnd

   当结束一个Session时用户计数器减1
Application.Lock
Application("ActiveUsers") = Application("ActiveUsers") - 1
Application.UnLock
End Sub
$#@60;/SCRIPT$#@62;

  这样,网站的在线人数就被统计出来了,我们可以利用如下一个ASP页面(js.asp)将它显示出来: jsh.asp:
$#@60;%@ Language=VBScript %$#@62;
$#@60;HTML$#@62;
$#@60;HEAD$#@62;
$#@60;TITLE$#@62;统计在线人数$#@60;/TITLE$#@62;
$#@60;/HEAD$#@62;
$#@60;BODY$#@62;
$#@60;B$#@62;$#@60;FONT COLOR="#CC0000"$#@62;当前在线$#@60;%= Application("ActiveUsers") %$#@62;人$#@60;/FONT$#@62;$#@60;/B$#@62;
$#@60;/BODY$#@62;
$#@60;/HTML$#@62;

  以上代码是我在Win NT(IIS 4.0)下调试并通过了的。

打印本文 打印本文 关闭窗口 关闭窗口