28 messaggi dal 09 ottobre 2006
scusate , ma ho un problema con le sessioni,

ho impostato la sessione nel webconfig in questo modo:
<sessionState mode="InProc" timeout="20"
/>

ora mentre provo l'applicazione web ogni tanto (con un periodo di tempo non uniforme sempre sotto ai 10 min) il webserver mi presenta questo errore:

Riferimento a un oggetto non impostato su un'istanza di oggetto.

riferendosi alla riga che vi presento sotto sotto in cui accedo ad un dato memorizzato nella sessione

DateTime tempoAccesso = (DateTime)System.Web.HttpContext.Current.Session["tempo"];


Immagino che il problema sia nell'utilizzo delle sessioni o nella configurazione. Il codice su cui da l'errore è in una pagina master
3.121 messaggi dal 29 ottobre 2001
Contributi | Blog
kento <kento> ha scritto:
Riferimento a un oggetto non impostato su un'istanza di oggetto.

Caduta la session.

Per quell'errore c'è un tuo errore di "logica": devi sempre controllare un dato prima di utilizzarlo quando si parla di oggetti presenti in cache, session...

Dovresti scrivere:

DateTime tempoAccesso;
if (System.Web.HttpContext.Current.Session["tempo"]!=null)
 tempoAccesso = (DateTime)System.Web.HttpContext.Current.Session["tempo"];
else
 tempoAccesso=DateTime.MinValue;


Ciao
Modificato da andrewz il 27 ottobre 2006 13.15 -
28 messaggi dal 09 ottobre 2006
ok , effettivamente posso controllare se il dato è presente in sessione risolvendo il problema, comunque vorrei capire da che cosa dipende il fatto che la sessione cada, e come si può prolungare il tempo di timeout ,tenendo conto che lo ho impostato a 20 min nel file web.config perchè la sessione cade prima c'è qualcosa che mi sfugge in tutto questo. Grazie

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.