| <SCRIPT LANGUAGE="VBScript" RUNAT="Server"> Sub Session_OnStart End Sub Sub Session_OnEnd End Sub sub Application_OnStard End Sub sub Application_OnEnd End Sub</SCRIPT> |
当有一个会话发生时(用户浏览网页,向Web服务器发出请求)那么,如果自服务器启动后第一个用户的话,就会同时发生Application_OnStard和Session_OnStart这两个事件,之后,再有别的用户发出请求的话,就只发生Session_OnStart这个事件,而session的生存期是多长,是可以设定的,Session.timeout=X(分钟)
好了,有了这个很好用的方法,我们就能准确地统计出在线人数了,而人数总计是用一个application变量来保存,当在第一个会话开始时,在Application_OnStard事件中放置一条清空计数器的语句application("online")=0,然后,在Session_OnStart事件中,放置一条增加在线人数的语句application("online")=application("online")+1,而在Session_OnEnd事件相应地放一条减少在线人数的语句,令计数值减一。
这样,这个文件就改为如下
| <SCRIPT LANGUAGE="VBScript" RUNAT="Server"> Sub Session_OnStart application("online")=application("online")+1 End Sub Sub Session_OnEnd application("online")=application("online")-1 End Sub sub Application_OnStard application("online")=0 End Sub sub Application_OnEnd application("online")=0 End Sub</SCRIPT> |
| *online.asp <% @language="vbscript" %> <% tmp=application("online") tmp=Cstr(tmp) dim disp(20) dim images(20) dbbits=len(tmp) for I= 1 to dbbits disp(I)=left(right(tmp,I),I-(I-1)) next for I=dbbits to 1 step -1 images(I)="<img src="&"http://xxxx.com.cn/pic"&"/"&disp(I)&".gif>" response.write "document.write("&images(I)&");" next %> |
| <script language="JavaScript" src="http://xxxx.com.cn/online.asp"></script> |