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 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 ?
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 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
Jo, då funkar det. Sessionerna lever som standard 20 minuter efter inaktivitet, då körs session_onend.
Naturligtvis är det så! :bire