FileSession 2

Andrea Zani

di Andrea Zani, in ASP.NET, 7 ottobre 2004

In questo lab ho inserito la nuova versione del FileSession, modulo già mostrato in questo articolo con spiegazioni del suo funzionamento, e la sua implementazione in un carrello elettronico presente a questo link. Le potenzialità di questo modulo sta nella sua gestione delle Session direttamente su file; questo consente di mantenere lo stato di ogni singolo utente anche in caso di riciclo dei processi dell'IIS o ad un aggiornamento al sito. Inoltre, l'identificatore di sessione viene inserito direttamente nell'url della pagina, e questo consente di identificare ogni singolo utente anche nel caso al browser siano stati disabilitati i cookies. Per implementare questo modulo è sufficiente inserire nel web.config della propria web-application questa sezione:

<configuration>    <configSections>          <section name="FileSession" type="PersonalConfig,FileSessionHttpModule" />    </configSections>    <FileSession       timeout="10"      checkFileTime="2"      defaultDirectory="~/Session"      autoInsertSid="true"      loginUrl="login.aspx"      excludeDirectory="directory1,directory2"      insertSid="Request"  /><system.web>      <httpModules>      <httpModules>          <add type="myHttpModule,FileSessionHttpModule" name="FileSessionHttpModule" />      </httpModules>      </httpModules>...</system.web></configuration>

In questa seconda versione del FileSession sono state aggiunte due voci nella sezione di configurazione:

  • excludeDirectory
  • insertSid

In excludeDirectory è possibile inserire le cartelle le cui pagine asp.net non devono essoro elaborate dal FileSession. Questa possibilità è stata implementata dopo dei test effettuata con alcuni dispositivi mobili con cui ho riscontrato problemi con il FileSession.

insertSid è la grande novità di questa versione. Accetta due valori:

  • Forever
  • Request

Con la prima impostazione il FileSession funziona come nella versione precedente: alla prima richiesta di una pagina asp.net della nostra web-application, sarà aggiunto immediatamente l'identificatore di sessione all'url della pagina e sarà creato per essa un file sul server per la memorizzazione dei suoi dati. Con "Request" non sarà inserito nessuna modifica all'url, non sarà creato nessun file sul server e modificato l'output della pagina per l'inserimento del "sid" ad ogni link presente fino al primo reale utilizzo del FileSession con la scrittura di dato di Sessione. Questo permette maggiori prestazioni e minore uso della memoria e risorse del server: il modulo entrerà in azione solo dal primo reale utilizzo.

L'allegato che potete scaricare qui contiene il codice sorgente del modulo e l'esempio già presentato nel tutorial su aspitalia.com con l'implementazione dell'insertSid. Per maggiori informazioni invito a leggere i due articoli presentati all'inzio.


Approfondimenti

Commenti

Per inserire un commento, devi avere un account.

Fai il login e torna a questa pagina, oppure registrati alla nostra community.



Segnala su: Facebook MSDN Social Twitter Segnalo Wikio Diggita Technorati Stumbleupon Google Yahoo FriendFeed Delicious Furl