[asp.net 1.1] variabili application

lunedì 16 maggio 2005 - 13.19

totti240282 Profilo | Guru

ciao a tutti ,stavo implementando la lista degli utenti connessi tramite la variabile application,e mi sono accortoche all'accesso dell'applicazione la variabile viene aumentata,mentre se chiudo la pagina tramite la x in alto a destra,la variabile application non viene sottratta dal totale,quindi deduco che rimangano appesi anche gli utenti (cioè non si disconnettono dal sito).Come posso ovviare a cio , nel senso che se due utenti si collegano ,e uno chiuda la pagina ,mi venga visualizzato che l'utente connesso sia solo uno ???

totti240282 Profilo | Guru

ok ,pero molti utenti escono chiudendo semplicemente il browser.

Cmq tu mi stai dicendo se io metto il timeout alla session tipo 10 minuti, e l'utente esce al 3 minuto ,risulterà online fino ai 10 minuti ????

totti240282 Profilo | Guru

be cosi sarebbe alquanto irrealistico se io la sessione la metto a 10 minuti e io dopo un minuto esco,è come se rimanessi online 10 minuti ???

la cosa non mi piace,cmq grazie.

ps...
e se dovessi fare un bottone di logout ???
scriverò session.clear ?????

Brainkiller Profilo | Guru

Ciao Totti,
è proprio così come dice Marco. L'utente resta appeso fino a quando scade la sessione.
Se vuoi fare un tasto di Logout e chiudere la sessione forzatamente puoi usare Session.Abandon.

ciao
david

totti240282 Profilo | Guru

non è possibile ,per rendere la cosa + realistica ,poter far scadere la sessione se si chiude il browser ???

certo resterebbe il problema se l'utente ha aperto più finestre.
Non sono risorse sprecate ????

Grazie a tutti

totti240282 Profilo | Guru

non capisco perche passati i 5 minuti non mi decrementa la variabile posto il codice



in global.asax


Sub Application_Start(ByVal sender As Object, ByVal e As EventArgs)
' Generato all'avvio dell'applicazione
Application("utenti") = 0
End Sub

Sub Session_Start(ByVal sender As Object, ByVal e As EventArgs)
' Generato all'apertura della sessione
Session.Timeout = 5
Application.Lock()
Application("utenti") = CInt(Application("utenti")) + 1
Application.UnLock()
End Sub

Sub Application_BeginRequest(ByVal sender As Object, ByVal e As EventArgs)
' Generato all'inizio di ogni richiesta
End Sub

Sub Application_AuthenticateRequest(ByVal sender As Object, ByVal e As EventArgs)
' Generato durante il tentativo di autenticazione dell'utente
End Sub

Sub Application_Error(ByVal sender As Object, ByVal e As EventArgs)
' Generato in caso di errore
End Sub

Sub Session_End(ByVal sender As Object, ByVal e As EventArgs)
' Generato alla fine della sessione
Application.Lock()
Application("utente") = CInt(Application("utente")) - 1
Application.UnLock()
End Sub

Sub Application_End(ByVal sender As Object, ByVal e As EventArgs)
' Generato alla chiusura dell'applicazione
End Sub
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2025
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5