Session_OnEnd事件触发时,Session.SessionID是否还存在?
我在用户登录时将SessionID记录到数据库用户表中,并将用户是否在线字段设置为在线;当Session_OnEnd事件触发时,希望能通过SessionID找到相应的记录,并将该记录用户是否在线字段设置为离线。global.asa文件中的程序如下:
Sub Session_OnEnd
Set cls=Server.CreateObject("mydll.db")
cls.Execute("UPDATE Users SET IsOnline='0' WHERE SessionID="&Session.SessionID)
Set cls=Nothing
End Sub
但是,似乎并没有执行。而如果我把Session.SessionID换成某一具体的UserID值时,可以成功修改该用户记录。所以,我怀疑此时SessionID已经被释放了。我的理解对吗?如果是的话,那有什么办法在用户帐号过期时找到该用户记录并进行操作呢?