-
Marco Gonnelli
# Pubblicato il 11/07/2003 alle 10:05 -
Rispondi
Salve a tutti
Ho messo degli stop del debug negli handler Session_end & Application_End del Global.Asax. Noto con dispiacere che quando chiudo l'applicazione non mi passa da nessuno dei due handler.
...suggerimenti ? Grazie in Anticipo Marco
-
Stefano Magni
# Pubblicato il 11/07/2003 alle 10:12 -
Rispondi
E' normale che sia così....la Session_End viene invocata quando scade il timeout della Session impostato nel web.config nella key sessionState che è di 20min; l'Application_End viene invocata quando viene ad esempio riavviato il server web.
-
Marco Gonnelli
# Pubblicato il 11/07/2003 alle 11:30 -
Rispondi
Non c è modo quindi di sapere qundo un utente chiude l'applicazione?
Devo fare a mano (con cookies o altri trucchettti) come facevo in ASP & Php ?
Ciao Marco
-
Stefano Magni
# Pubblicato il 11/07/2003 alle 11:39 -
Rispondi
Per "cercare" di capire quando un utente chiude il browser devi per forza ricorrere ad uno script lato client ed agganciarlo all'evento "onbeforeunload".
Esempio :
<body MS_POSITIONING="GridLayout" onload="Load()" onclick="ctlclicked()" onbeforeunload="Chiusura()" language="javascript">
<h1>Hello, world</h1>
<form method="post" action="bho.aspx" onSubmit="Submit();" runat="server">
</form>
</body>
....
....
function Chiusura()
{
.....
}
-
Marco GOnnelli
# Pubblicato il 11/07/2003 alle 11:51 -
Rispondi
Il problema è che alla chiusura dell'applicazione devo fare la pulizia, di tutte le istanze degli oggetti che mi sono creato come nel logout, speravo che con ASP.NET fosse cambiato qualcosa, ma misà che mi sbagliavo.....
Ciao Marco
-
Alessandro Scardova
# Pubblicato il 13/07/2003 alle 12:13 -
Rispondi
ASP.NET è una tecnologia "server side" se si escludono gli script per la valdazione lato client. Il problama è che il dialogo tra server e client avviene attraverso il protocollo HTTP (http://www.w3.org/Protocols/). Come è noto questo protocollo è stateless, non implementa cioè un controllo dello stato: è come si comunicasse via SMS. Tu non puoi sapere se il tuo interlocutore ha il telefonino spento o meno a meno che lui non sia così gentile da mandarti un SMS con scritto "passo e chiudo", prima di spegnerlo. Così è il dialogo tra Server e Client. Il server non può sapere se il browser viene chuso se non viene segnalatao dal browser stesso. IIS scatena l'evento Session_End quando non "sente" più nulla dal client per tot minuti (20 nel default).
E' un problema del protocollo di comunicazione (HTTP) e non di ASP, ASP.Net o PHP: queste tecnlogie devono insistere nello standard, anche a costo di essere limitanti.
ciao
AS