|
|
|
|
|
Un articolo di: Matteo Gentile
del 16/11/2002
Letture: 10460
|
|
|
Buono sconto 4% su Toner e Cartucce agli utenti AZpoint. SU Iomiricarico.it!!
L'Oggetto Session
|
Si ringrazia Matteo Gentile per la concessione del materiale pubblicato in questo articolo.
|
L'oggetto Session ci permette di memorizzare valori per la sessione corrente. Quindi, memorizzando un determinato valore nell'oggetto, sarà rintracciabile per tutta la durata della sessione.
Una volta che l'utente sarà uscito dal nostro sito, queste informazioni verranno perse (con l'oggetto Session).
Ecco come memorizzare un valore all'interno dell'oggetto:
Session("testo") = "Questo è un testo"
Session("numero") = 7
In pratica, l'oggetto Session ha la funzionalità di un cookie di memorizzare informazioni durante la navigazione del sito, ma non è possibile utilizzarlo nel lungo periodo (non è possibile impostarne una scadenza lunga, solo alla fine della sessione esso viene scaricato).
Per recuperare il valore presente nella variabile di sessione usare la sintassi:
varTesto= CStr(Session("testo"))
varInt= CInt(Session("numero"))
Le conversioni a stringa e a intero non sono necessarie, ma consigliate.
Infatti le varibili memorizzate nell'oggetto Session sono di tipo Variant (generico).
Di norma ASP la conversione da Variant a String la fa in automatico, ma l'esperienza ha dimostrato che a volte la mancanza della conversione genera errori.
Attenzione però! Questo oggetto è disponibile solo sui browser che supportano i cookies.
Vediamo quali sono la sintassi, le collezioni, le proprietà, i metodi e gli eventi dell'Oggetto Session.
Sintassi
Session.collection|property|method
Contents | Contiene gli oggetti aggiunti alla sessione tramite script. |
StaticObjects | Contiene gli oggetti aggiunti alla sessione tramite il tag <OBJECT>. |
CodePage | Setta il CodePgae per l'intera sessione.Il CodePage dice al browser come codificare i caratteri delle diverse lingue. |
| Gestisce le impostazioni internazionali personalizzate per la sessione corrente (in questo modo è possibile evitare di configurare tali impostazioni direttamente dal server). |
| Ritorna l'identificatore di Sessione |
| Il tempo di Timeout per la sessione corrente |
| Distrugge l'Oggetto Session e ne libera le risorse. |
| Cancella un singolo oggetto dalla collezione Contents. |
| Cancella tutti gli oggetti dalla collezione Contents. |
Session OnEnd | Evento che si verifica alla fine della Sessione. E' presente nel Global.asa. |
Session OnStart | Evento che si verifica all'inizio della Sessione. E' presente nel Global.asa. |
Questa proprietà ci permette di venire a conoscenza del numero univoco di sessione per la sessione corrente.
Sarà quindi possibile effettuare controlli su questo valore per evitare problemi di sicurezza.
Un esempio è:
<%= "Il tuo numero di sessione: " & Session.SessionID %>
Questa proprietà specifica il tempo di timeout, in minuti, entro il quale la sessione deve scadere. Impostando, per esempio:
<% Session.TimeOut = 10 %>
dopo 10 minuti, se non c'è risposta da parte dell'utente (non naviga più all'interno del sito), la sessione scade.
Questo metodo elimina tutte le variabili di sessione.
Questo però avviene solo dopo aver eseguito lo script. Sarà quindi possibile richiamare ancora le variabili di sessione nella stessa pagina ove presente il metodo.
Un esempio è:
Session.Abandon
Indietro
Per eliminare un variabile di sessione, si utilizza questa sintassi:
<% Session.Contents.Remove( nomeVariabile/indice ) %>
E' possibile specificare direttamente il nome della variabile da eliminare, oppure l'indice di riferimento.
Indicando l'indice ovviamente, il server eliminerà la voce corrispondente dall'inizio dell'insieme Session.
Indietro
Ecco come eliminare tutte le variabili di sessione ed il loro valore:
<% Session.Contents.RemoveAll() %>
Così facendo, il valore ID di sessione rimane uguale, in quanto vengono solo scaricate le variabili utilizzate.
|
|
[Indietro]
[Su]
[Home]
[Commenti]
[V. Stampabile]
|
|
|
|
|
|