Come disattivare completamente il SessionState

di Daniele Bochicchio, in ASP.NET, web.config, Session,

L'uso del SessionState, che in ASP.NET è notevolmente potenziato rispetto a quanto è presente in Classic ASP, può rappresentare facilmente uno dei talloni di Achille per quanto riguarda le performance, se il carico a cui è sottoposta la nostra applicazione è particolarmente elevato.

In certi casi è sufficiente disattivare il SessionState, agendo sul web.config, ed impostando questi valori:

<configuration>
  <system.web>
    <sessionState mode="Off" />
  </system.web>
</configuration>

L'effetto è quello di disattivare l'uso delle variabili Session, per cui è evidente che occorre rimuovere ogni riferimento a questa classe, altrimenti si riceverà un errore.
Tra l'altro se si ha bisogno di memorizzare informazioni, si possono utilizzare mezzi differenti come i cookie o la classe Cache, che comportano un carico minore sul server.

Quello che non tutti sanno è che per il SessionState è implementato come un HttpModule, registato all'interno del machine.config.
Il web.config rispetto a quest'ultimo si trova ad un livello inferiore (eredita da questo, cioè, le impostazioni), per cui se vogliamo rimuovere completamente ogni traccia di utilizzo del SessionState, per evitare del tutto che entri in gioco, è sufficiente aggiungere queste istruzioni al file di confiruazione della nostra applicazione:

<configuration>
  <system.web>
    <httpModules>
      <remove name="Session"/>
    </httpModules>
  </system.web>
</configuration>

Per approfondimenti sul web.config si veda
Configurare ASP.NET con il web.config
https://www.aspitalia.com/articoli/aspplus/webconfig.aspx

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

I più letti di oggi