我的global.asa文件如下: <SCRIPT LANGUAGE="VBScript" RUNAT="Server"> 'Session_OnStart 当客户首次运行 ASP 应用程序中的任何一个页面时运行 'Session_OnEnd 当一个客户的会话超时或退出应用程序时运行 'Application_OnStart 当任何客户首次访问该应用程序的首页时运行 'Application_OnEnd 当该站点的 WEB 服务器关闭时运行 Sub Application_OnStart VisitorCountFilename = Server.MapPath ("../VisitCount.txt") Set FileObject = Server.CreateObject("Scripting.FileSystemObject") Set Out= FileObject.OpenTextFile (VisitorCountFilename, 1, FALSE, FALSE) Application("visitors") = Out.ReadLine Application("NowPeopleNumber")=0 Application("VisitorCountFilename") = VisitorCountFilename End Sub '========================================================= SUB Application_OnEnd Set FileOutObject = Server.CreateObject("Scripting.FileSystemObject") Set Out= FileOutObject.CreateTextFile (Application("VisitorCountFilename"), TRUE,FALSE) Out.WriteLine(application("visitors")) End Sub '========================================================= Sub Session_OnStart Session.Timeout = 30 Application("visitors") = Application("visitors") + 1 Application("NowPeopleNumber")=Application("NowPeopleNumber")+1 Session("ID")=Session.SessionID Session("UserName")=0 '不存在 End Sub '========================================================= Sub Session_OnEnd Application("NowPeopleNumber")=Application("NowPeopleNumber")-1 End Sub </SCRIPT> 这样的话总的浏览人数将保存在VisitCount.txt文件中,我觉得Application("NowPeopleNumber")中应该保存了 在线人数,在主页中把它显示出来就可以,但这样做我发现当我关闭浏览器在打开主页时候 在线人数增加了1。也就是说Session_OnEnd没有被执行。是什么原因呢?还有别的方法可以得到 在线人数吗?首次发文章,谢谢大家了。
|