<script language=VBScript runat=Server>
Sub Application_OnStart
Application("antal") = 0
End Sub
Sub Session_OnEnd
IF session("userID") <> "" THEN
Application.Lock
Application("antal") = cint(Application("antal")) -1
Application.Unlock
End if
End Sub
</script>
Första gången en asp-sida i applikationen körs efter tjänsten startats, körs Application_OnStart. När första asp-sidan i en session körs triggas Session_OnStart. Du ska alltså lägga uppräknarkoden i Session_OnStart, och behålla nedräknarkoden i Session_OnEnd. Om du bara räknar upp på aspsidan så är det inte så konstigt att den räknar upp för varje refresh.
Session_EnEnd körs när en session timar ut, eller Session.Abandon körs.
<script language=vbscript runat=server>
Sub Application_OnStart
Application("Active") = 0
End Sub
Sub Application_OnEnd
End Sub
Sub Session_OnStart
Application.Lock
Application("Active") = Application("Active") + 1
Application.Unlock
End Sub
Sub Session_OnEnd
Application.Lock
Application("Active") = Application("Active") - 1
session.abandon
Application.Unlock
End Sub
</script>
<%=Application("Active")%>
Om ovan bör fungera så har jag nog lagt global.asa filen på fel ställe. För <%=Application("Active")%> returnerar inte någonting :(
Om den fungerar eller inte vet jag inte. Jag fick det inte att snurra i alla fall då den räknade upp på ett konstigt sätt. Länken till sidan där man kan diskutera skriptet fungerade inte :)
Jodå, det ser ut att funka, men den räknar inte samma sak som scriptet du pillat till just nu. Lukaspojkens script räknar inloggade, inte sessioner. :-)
Mvh
260 ms totalt · 4 externa anrop · v20260731065814-full.a51de22e