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.
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 ...
Per inserire un commento, devi registrarti alla nostra community.






Stampa
Download

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 ...
Continua »»» | Rispondi »»»