158 messaggi dal 13 ottobre 2004
www.astrofoto.it
ciao ragazzi.
Con VS2008, nel mio sito asp.net, ho aggiunto un mioModulo.vb e li ho creato una variabile

public mCodOrdine as string


questa variabile la valorizzo in default.aspx e mi viene comoda in tutte le pagine del sito. quando l'utente termina la procedura guidata del sito faccio un bel "mCodOrdine = nothing" e la posso considerare morta.
la mia domanda è questa: se l'utente CHIUDE IL BROWSER PRIMA di aver completato la procedura guidata, quella variabile li.... quando muore? quanto tempo resta in memoria? come posso fare a distruggerla se non ci pensa il server dopo un certo tempo?

ho provato a mettere un brackpoint nel global.asax in application_end ma il debug non ci passa mai quando chiudo il browser, per vedere se potevo farlo da li.
Ma l'application_end quando viene scatenato? cosa sifinfica END dell'applicaizone? perchè anche quando chiudo il browser l'applicaizone è END :)

Vorrei evitare di scrivere codice che intasi il server e che mi obblighi a riavviare l'app pool di IIS (non sarebbe carino riavviare mentre altri utenti magari stanno usando il sito...)

grazie a tutti!

MB
Se non ho capito quella variabile è definita in modo "globale", cioè è accessibile da tutte le pagine perché è definita in un modulo poi utilizzato nel global.asax.

Se è questo il tuo caso c'è un grave errore, visto che tale variabile è visibile non solo al singolo utente che si collega, ma a TUTTI gli utenti che accedono al tuo sito.

Per evitare questo puoi usare in ordine sparso:
Session
Cookie
Custom (cache con identificatore di utente o altro)

Sempre se ho ben capito il tuo problema

Ciao

Andrea Zani
Undicesimo comandamento: NON utilizzare Explorer 6
158 messaggi dal 13 ottobre 2004
www.astrofoto.it
capito. tornerò alla session che è più sicura.
nel modulo magari posso mettere variabili globali generiche, come ad esempio la connessione al db, giusto?
"mbastoni" <mbastoni> ha scritto nel messaggio news:348419@...
capito. tornerò alla session che è più sicura.

In quel caso, sì. Oppure cookie con contenuto crittografato...
nel modulo magari posso mettere variabili globali generiche, come ad esempio la connessione al db, giusto?

Esatto. Sempre oggetti generici per 'tutti'. Oppure puoi utilizzare oggetti generici che possano identificare gli utenti con una chiave, ma devi, in ogni modo, identificare univocamente l'utente collegato

Ciao

Andrea Zani
Undicesimo comandamento: NON utilizzare Explorer 6
158 messaggi dal 13 ottobre 2004
www.astrofoto.it
ok grazie.
intanto che ci siamo.... se creo una variabile li dentro... sai dirmi quando muore? se chiudo il browser mi resta appesa oppure IIS se la distrugge dopo un tot.....
Gli oggetti nel global.asax muoiono quando muore all'applicazione.
Ciao
.

Andrea Zani
Undicesimo comandamento: NON utilizzare Explorer 6
158 messaggi dal 13 ottobre 2004
www.astrofoto.it
ok ma la morte dell'applicazione equivale alla chiusura del browser, ad un tempo predeterminato in IIS (come ad esempio le scadenze delle session), al riavivo dell'application pool oppure....??
146 messaggi dal 23 aprile 2007
l'applicazione muore, se non dico cappellate, quando iis viene fermato o in caso di gravi eccezzioni lato server..

ciao
Sergio

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.
In primo piano

I più letti di oggi

Media
In evidenza
MISC