Io ho messo nella tabella utenti un campo "Connesso", e nel file di login faccio:
"UPDATE nome_tabella SET connesso=1 where sessionid= '" & Trim(CStr(Session.SessionID)) & "' "
Quindi ho un valore che mi permette di sapere chi è collegato.
Nel Global.asax:
Sub Session_End(ByVal sender As Object, ByVal e As EventArgs)
Dim Conn As New SqlConnection()
Conn.ConnectionString = Application("Conn")
Dim updateCmd As String = "UPDATE Nome_tabella SET connesso=0 where SessionID='" & Trim(CStr(Session.SessionID)) & "' "
Dim myCommand As SqlCommand = New SqlCommand(updateCmd, Conn)
Conn.Open()
myCommand.ExecuteNonQuery()
Conn.Close()
End Sub
Così mi funziona senza nessun problema.
Il Sessionid rimane, per ovviare al problema ogni volta che ti colleghi(Quindi si crea un nuovo sessionid!)faccio l'update e aggiorno il campo coneesso.
Fammi sapere se così funziona.
Ciao
Legnetto

Rispondi quotando