Jag sätter en session på varje person som loggar in och sparar denna i application, men ett vanligt problem verkar vara att On_sessionEnd inte alltid körs i global.asa, dvs denna kod i mitt fall:
Sub Session_OnEnd()
' Selected constants from adovbs.inc
Const adAffectCurrent = 1
' Start at the first record
rstActiveUsers.MoveFirst
' Check each record for the SessionID
Do While Not rstActiveUsers.EOF
' Do conversion to Long to be sure we're
' comparing the same data type.
If CLng(rstActiveUsers.Fields("id").Value) = _
CLng(Session.SessionID) Then
rstActiveUsers.Delete adAffectCurrent
End If
rstActiveUsers.MoveNext
Loop
rstActiveUsers.Update
End Sub
Hur får jag bort en person som inte loggat ut korrekt?
------------------
Alltid lär man sig något nytt varje dag...
Du får lägga till en timestamp för varje session i application. Sen så får du uppdatera den timestampen när du får ett request för den sessionen.
Sen kan man t.ex. vid session_ontstart gå igenom application och rensa ut alla som har en timestamp som är äldre än den timeout du har satt för sessionen.
------------------ essentitia preter non sans multiplicandum
Tack, LarsG...ska fundera lite på hur man kan lägga upp det...vad är förresten en Timestamp? (Jag förstår ungefär vad det är men inte riktigt hur det fungerar, är det en applikationsvariabel eller?)
------------------
Alltid lär man sig något nytt varje dag...