Oggetto Session

Siti dinamici con ASP
Impara a creare siti dinamici professionali con ASP

Scritto da Luca Ruggiero nella sezione Asp

L'oggetto built-in Session è talvolta indispensabile nell'ambito delle applicazioni Asp per la gestione di informazioni relative agli utenti; il suo scopo, infatti, è quello di memorizzare informazioni in un file e consentire al server Web di trasportarle in pagine diverse da quella in cui sono state inizializzate.

Iniziamo con un semplice esempio, memorizziamo in una sessione una stringa di testo, consideriamo il seguente codice:

<%@LANGUAGE = JScript%>
<%
   Session("esempio") = "Hello World!";
%>
<html>
 <head>
  <title>Oggetto Session</title>
 </head>
<body>

<%
   Response.Write(Session("esempio"));
%>

</body>
</html>
E' normale immaginare che il risultato di un simile esperimento sia la stampa a video della stringa "Hello World!".
Proviamo adesso da aggiungere un link a questo codice che punti ad un'altra pagina, in cui scriveremo
<%@LANGUAGE = JScript%>
<html>
 <head>
  <title>Oggetto Session</title>
 </head>
<body>

<%
   Response.Write(Session("esempio"));
%>

</body>
</html>
Anche in questo caso, nella seconda pagina, comparirà la scritta "Hello World!".
Proviamo adesso a chiudere la pagina ed a riaprirla: probabilmente la scritta "Hello World!" sarà ancora visibile, questo perchè, probabilmente il server Web non ha ancora distrutto la sessione, conservandola in una particolare area di memoria.

Ad un riavvio del server, o del sistema, aprendo il secondo file non dovrebbe apparire nulla, oppure la scritta undefined, ciò vuol dire che la sessione è stata distrutta.

Asp offre la possibilità di distruggere la sessione manualmente; il metodo Abandon() consente di terminare all'istante la sessione, questa è la tecnica con cui vengono costruite le pagine di logout per gli utenti; la proprietà Timeout, invece, consente di specificare in minuti il tempo che dovrà trascorrere prima che la sessione venga distrutta.

Solitamente una sessione muore dopo 20 minuti di inattività dell'utente, cioè prima che venga inviata al server una nuova richiesta http.

Scrivendo
Session.Timeout = 30;
modificheremo il tempo di scadenza della sessione da 20 minuti a mezzora.

Un esempio pratico

La maniera più spicciola di mettere in pratica quanto detto è la realizzazione di una semplice area di accesso riservato... di solito il nome utente e la password vengono estratti da un database: non essendo ancora giunti a questo punto, ci limiteremo a memorizzare in delle semplici variabili una coppia di valori che serviranno ad un singolo utente a loggarsi.

Clicca qui per leggere l'articolo.

I più cliccati della sezione Asp

:: Un semplice form mail in Asp (51.682)

:: Creazione di un Guestbook in Asp (50.782)

:: Creazione di un'area di accesso riservato in Asp (45.423)

:: Connessione ad un database MySql con Asp (25.044)

:: Connessione ad un database Microsoft SQL Server con Asp (24.069)

:: Asp e database (23.123)

:: Differenza tra i metodi get e post e recupero dei dati, attraverso Asp (22.301)

:: Una semplice area di accesso riservato senza DB in Asp (21.384)

:: Riscrivere le URL con Asp (19.743)

:: Creazione di un Sondaggio in Asp (19.100)

IN EVIDENZA
DOWNLOAD