FileSession 2

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
emidrana2 scrive:
FileSession 2

Non mi è chiara una cosa se uso l'attributo request non mi è chiaro come e quando viene inserito il SID nella pagina. Ho visto il codice e sembra che ...
martedì 6 febbraio 2007 | 1 risposta
diego.maninetti scrive:
FileSession 2

Modulo utilissimo.Ho buttato giù al volo un paio di modifiche per riscrivere il sid come ultimo parametro dell'URL (invece che come primo parametro ...
giovedì 4 maggio 2006

Per inserire un commento, devi registrarti alla nostra community.