fijate que no pude implementar tu sistema, el cual te agradezco pero creo que es por la forma de llamar a la base de datos (supongo) uso mysql, a final de cuentas hice esto (que no funciona)
Código:
<SCRIPT LANGUAGE="VBScript" RUNAT="Server">
Sub Application_OnStart
Application.Lock
Application("Active") = 0
Application.Unlock
End Sub
Sub Session_OnStart
Set conexion = Server.CreateObject("ADODB.Connection")
Set RS = Server.CreateObject("ADODB.Recordset")
conexion.Open "DRIVER={MySQL ODBC 3.51 Driver};SERVER=xxx.x.x.x;PORT=3306;DATABASE=xxx; USER=xx;PASSWORD=xxx;OPTION=3;"
sql="Select * From conexiones WHERE id=" & Session.SessionID
rs.open sql, conexion,2,3,1
Session.Timeout = 20
If rs.EOF Then rs.AddNew
rs("id") = Session.SessionID
rs("ip") = Request.ServerVariables("REMOTE_HOST")
rs("inicio") = Now()
rs("usuario") = Session("user")
rs.Update
Application.lock()
Application("NumVisitas") = Application("NumVisitas") + 1
Application.unlock()
rs.close
End Sub
Sub Session_OnEnd
sql="Select * From conexiones WHERE id=" & Session.SessionID
rs.open sql, conexion,2,3,1
'if not rs.eof then
rs("fin") = Now()
rs.Update
rs.close
Application.lock()
Application("NumSesion") = Application("NumSesion") - 1
Application.unlock()
End Sub
Sub Application_OnEnd
rs.close
End Sub
</SCRIPT>
Me graba, el sessionid, la hora de inicio y la ip pero no la hora de fin ni el usuario, ademas me guarda la informacion hasta que cierro la session... me imagino que si cierro mi session borrando todas las "sessiones" pues no se como habria de identificar en la base de datos el registro al cual ponerle la hora de fin... ando empelotado