眼下,作网站已成为一种时尚,各式各样的网站如雨后春笋般冒了出来。有用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)下调试并通过了的。
Java Asp PHP .Net XML C/C++ CGI VB Jsp J2ee J2se J2me EJB Servlet Tomcat Resin Struts Weblogic Eclipse ANT GUI JMS Web servise IDEA Webphere Hibernate Spring Jboss Applet Swing Socket Javamail Perl Ajax P2P 安全 模式 框架 测试 开源 游戏
Windows XP Windows 2000 Windows 2003 Windows Me Windows 9.x Linux UNIX 注册表 操作系统 服务器 应用服务器