webForumDet fria alternativet
Logga in / Bli medlem

Session_onEnd

ASP

4 svar · 209 visningar · startad av doggelito

Medlem sedan juni 20003 076 inlägg
Trådstart#1

Okey, en användare loggar in, en sessionvariabel skapas, Session("Userid") med värdet t.ex 11.
Samtidigt skapas en applicationvariabel med namnet User_online11.
Så långt allt bra, loopar alla applicationvariablar och man ser vilka som är online.
Men sen när nån hoppar ur sidan eller loggar ur ska koden nedan köras men den funkar ej, varför?
Är verkligen Session_onEnd så ostabilt som många verkar tycka?

Sub session_onEnd
Application.Lock
Application.Contents.Remove("User_online11")
Application.UnLock
End Sub

Kan också nämnas att strängen fungerar om jag kör den på en vanlig sida!

Medlem sedan juli 20013 378 inlägg
#2

Hmm..

The server destroys the Session object when the session expires or is abandoned

Bara för att vara säker på att jag förstår problemet:
Har du antingen väntat Session.Timeout minuter eller kört Session.Abandon på någon sida innan du kollat ?

Medlem sedan juni 20003 076 inlägg
#3

Det är nog det som är felet!
Koden funkar om en användare loggar ut, då körs Session.Abandon, men det funkar inte om en användare bara stänger webläsaren, går det att lösa mån tro?

Medlem sedan feb. 20001 590 inlägg
#4

Jo, då funkar det. Sessionerna lever som standard 20 minuter efter inaktivitet, då körs session_onend.

Det du kan göra är att ändra denna tid, antingen med session.timeout eller direkt i IIS.

/T

Medlem sedan juni 20003 076 inlägg
#5

Jo, då funkar det. Sessionerna lever som standard 20 minuter efter inaktivitet, då körs session_onend.

Naturligtvis är det så! :bire

412 ms totalt · 4 externa anrop · v20260731065814-full.51f67c91
143 ms — deklarationer (db)
124 ms — hämta statistik (db)
141 ms — hämta tråd, inlägg och bilagor (db)
137 ms — ändringar (db)