<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
256 ms totalt · 4 externa anrop · v20260731065814-full.d34c6d5a