Ciao a tutti questo tormentone degli utenti collegati è stato + volte trattato ma non ho trovato nulla che soddisfi la mia esigenza.

Quando un utente si logga faccio scrivere nel record relativo il valore '1' che significa online. Da li poi posso gestirmi utenti collegati, profili, etc.

Quando l'utente abbandona il sito vorrei riportare il valore a '0' che significa offline, evitando di usare il js e l'vento onunload.

Allora ho pensato che questa operazione nel db potesse essere svolta nel global.asa, così:

Sub Session_OnEnd
If Not Isempty(Session("Nick")) then
Application.Lock
SQL="update mailing set online = '0' where id = "& Session("ID")
Set Conn=Server.CreateObject("ADODB.Connection")
Conn.Open = connessione
conn.execute (sql)
set conn = nothing
Application("Users") = Replace( Application("Users") , Session("Nick") & "|" ,"")
Application.UnLock
end If
End Sub

Ma il valore '0' non viene scritto.
Dove sbaglio? O forse non è possibile eseguire operazioni del genere nel global.asa? O forse nel momento in cui l'utente chiude il browser le sessioni vengono immediatamente chiuse e quindi lo script sopra non se le ritrova +?

GRazie