ASP在线刷新程序不能正确执行。

来源:百度知道 编辑:UC知道 时间:2024/06/30 18:16:52
本人在自己的机器上安装了IIS并编写了两个ASP程序代码如下:
第一个程序:viewonline.asp(显示在线人数)
<%
response.write "当前在线人数是:"&application("online")
%>

第二个程序是:global.asa(这个文件不用我说大家都知道了吧我就是把上面那个application("online")应用程序变量放在这个文件里进行统计的代码如下:
<script language=vbscript runat=server>
sub session_onstart
application.lock
application("online")=application("online")+1
application.unlock
end sub

sub session.onend
applicatio.lock
application("online")=application("online")-1
application.unlock
end sub
</script>

结果我的机器只招待 sub session.onstart 里面的代码,至于sub session.onend却不执行 这样我第打开IE显示当前为1人。关掉IE再打开IE显示当前为2人。再关再打开IE显示当前3人.再关再打开显示为4人.....为什么会这样 安照正常情况我关掉了IE就相当于SESSION会话的结束。就应该执行session_onend中的代码可却不是这样。大家看看是什么原因

<SCRIPT language="VBScript" runat="server">
Sub Application_OnStart
Application.Lock
Application("user_online")=0
Application.Unlock
End Sub
Sub Application_OnEnd
Application.Lock
Application("user_online")=0
Application.Unlock
End Sub
Sub Session_OnStart
Application.Lock
Application("user_online")= Application("user_online")+1
Application.Unlock
end sub
Sub Session_OnEnd
Application.Lock
Application("user_online")= Application("user_online")-1
Application.Unlock
End Sub
</SCRIPT>

如果直接是关闭IE的,那么Session值是不会立即清除的.
这种情况下Session取决于Session.TimeOut的设定.
你可以把这个值设定的小些...