webForumDet fria alternativet

Session_onEnd

4 svar · 209 visningar · startad av doggelito

doggelitoMedlem sedan juni 20003 076 inlägg
#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!

jarvkloMedlem 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 ?

doggelitoMedlem 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?

ToonsterMedlem 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

doggelitoMedlem 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

137 ms totalt · 3 externa anrop · v20260731065814-full.30151723
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
135 ms — hämta tråd, inlägg och bilagor (db)