simply4you.it simply4you.it

   Home
     Articoli, Tutorial...
       ASP
         Oggetto Session

Autore
Gianmaria Allisiardi

E-Mail
g.allisiardi@libero.it



Commenta anche tu !  


LINK ASP













   Invia il link di questo articolo ad un amico  Invia ad un amico Visualizza la versione stampabile di questo articolo  Stampa Commenta questo Articolo  Commenta Parlane in Chat  Chat   Parlane sul Forum  Forum

Corsi Programmazione in aula:
ASP, Dreamweaver MX, Flash MX, HTML, Introduzione alla programmazione strutturata, JSP/Servlet, JavaScript, Linguaggio C, Linux programmazione shell, Oracle PL/SQL, Oracle Portal 9.0.2, PHP, Perl, Programmazione Java, Programmazione Java avanzata, Programmazione web Corso avanzato, Programmazione web Corso base, Programmazione web Corso intermedio, XML


L'oggetto Session

L'oggetto Session e l'oggetto Application, servono entrambe a mantenere delle informazioni sul web.
Mentre l'oggetto Application è progettato per mantenere lo stato di tutti gli utenti del sito, l'oggetto Session è progettato per mantenere lo stato della singola sessione (apertura del browser), e quindi del singolo utente.
L'oggetto Session puo' contenere al suo interno qualsiasi tipo di dato, dai numeri, alle stringhe, agli array.
Le variabili di sessione servono a contenere valori relativi all'utente e piu' specificatamente al singolo browser
Un classico esempio di utilizzo di variabili di sessione è quello dell'Area riservata.
Con questo script, una volta autenticato l'utente, viene creata una variabile di sessione, con all'interno un valore.
In ogni pagina riservata si effettua un controllo sull'esistenza di questo valore dentro la sessione.
Se il valore è presente, l'utente è autenticato, altrimenti no.
L'utilizzo delle Session richiede la disponibilità da parte del browser dell'utente di ricevere i cookies.
Senza di essi le session non possono esistere. Esiste tuttavia la possiilità di usare le session senza i cookies.
Questa possibilità è rappresentata dal filtro ISAPI.

Ecco come scrivere un valore in una Session:

<%
'Inserisco testo nella Session
Session("testo") = "Scrivo del testo"
'Inserisco numeri nella Session
Session("numero") = 15689
%> 
Questi valori saranno visibili esclusivamente dall'utente che le ha generate.

Per leggere le variabili sessione basta questo script:
<% testo = Session("testo")%>
Le variabili di Applicazione sui azzerano con il comando Session.Abandon.
In questo caso al termine dell'esecuzione della pagina tutte le variabili di sessione aperte dall'utente verranno terminate.
Esiste un metodo per azzerarne solo una alla volta:
<%Session("pippo") = "" %>
per eliminarla:
<% Session.Contents.Remove("pippo") %>
Le variabili di sessione hanno un timeout, al termine del quale cessano di esistere.
Il Timeout viene impostato di default da IIS (5.0) a 20 minuti, da IIS (4.0) a 10 minuti, salvo diversa indicazione nel global.asa.
La riga che permette di impostare il timeout nel global.asa è la seguente:
Session.Timeout = 10
Il numero indica i minuti. Questa riga va inserita nell'evento Session_OnStart.
Le variabili di sessione hanno diverse proprietà :
.Abandon
.TimeOut
.Contents.Remove
.LCID
.SessionID
Dei primi 3 abbiamo già parlato nei paragrafi sopra.

Session.LCID permette di gestire impostazioni internazionali per una determinata sessione.
In questo modo si puo' gestire la data in un determinato modo indipendentemente da dove sia situato il server, e da che impostazioni abbia.
Ecco un esempio:
<%

'Impostazione del formato inglese (2057)
'lmpostazione del formato italiano (1040)

Session.LCID = 2057

'Visualizzazione nel formato inglese della data odierna

Reponse.Write(formatDateTime(Date(), vbShortDate))
%>
Session.SessionID permette di venire a conoscenza dell'ID di sessione.
Questo valore è univovo per ogni utente che si collega al sito.
Ecco un esempio:
<%
id = Session.SessionID
Response.Write "Il mio Session.ID è " & id
%>



   Invia il link di questo articolo ad un amico  Invia ad un amico Visualizza la versione stampabile di questo articolo  Stampa Commenta questo Articolo  Commenta Parlane in Chat  Chat   Parlane sul Forum  Forum