Ho preparato uno script che inserisce in una variabile di tipo application il nome di un utente al momento del login e lo cancella quando si esegue il logout, ma se un utente chiude direttamente la pagina il nome rimane.

Vi posto il codice che come ho detto funziona ametà:
codice:
'Nella pagina del login
if InStr(1, Application("utenti_online"), Session("Username") & "|" ) = 0 then 
	Application.Lock 
	Application("utenti_online") = Application("utenti_online") & Session("Username") & "|" 
	Application.UnLock
End If

'Nella pagina di logout
if InStr(1, Application("utenti_online"), Session("Username") & "|" ) <> 0 then 
	Application.Lock 
	Application("utenti_online") = Replace(Application("utenti_online"), Session("Username") & "|", "") 
	Application.UnLock 
end if

'Nel global.asa
Sub Session_OnEnd
if InStr(1, Application("utenti_online"), Session("Username") & "|" ) <> 0 then 
	Application.Lock 
	Application("utenti_online") = Replace(Application("utenti_online"), Session("Username") & "|", "") 
	Application.UnLock 
end if
End Sub
ma come si risolve questo problema?