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.
Commenti
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.