FileSession 2

di Andrea Zani, in ASP.NET,

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

Visualizza/aggiungi commenti

| Condividi su: Twitter, Facebook, LinkedIn

Per inserire un commento, devi avere un account.

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

Approfondimenti