Disabilitare lo stato della sessione ASP in ASP.NET

Questo articolo illustra come disabilitare lo stato della sessione in ASP.NET.

Versione originale del prodotto: ASP.NET
Numero KB originale: 306996

Riepilogo

Quando lo stato della sessione è abilitato, ASP.NET crea una sessione per ogni utente che accede all'applicazione, usata per identificare l'utente tra le pagine all'interno dell'applicazione. Quando lo stato della sessione è disabilitato, i dati utente non vengono rilevati e non è possibile archiviare informazioni nell'oggetto Session o usare gli Session_OnStart eventi o Session_OnEnd . Disabilitando lo stato della sessione, è possibile aumentare le prestazioni se l'applicazione o la pagina non richiede lo stato della sessione per abilitarla.

In ASP.NET, se non si usa l'oggetto Session per archiviare dati o se uno degli Session eventi (Session_OnStart o Session_OnEnd) viene gestito, lo stato della sessione è disabilitato. Viene creato un nuovo oggetto Session.SessionID ogni volta che una singola pagina viene aggiornata in una sessione del browser.

Disabilitare lo stato della sessione a livello di applicazione

La procedura seguente illustra come disabilitare lo stato della sessione a livello di applicazione, che influisce su tutte le pagine dell'applicazione:

  1. Avviare Microsoft Visual Studio .NET e creare una nuova applicazione Web ASP.NET.
  2. In Esplora soluzioni fare doppio clic su Web.config per visualizzare il contenuto del file.
  3. Individuare la <sessionState> sezione e impostare il valore della modalità su Disattivato.
  4. Salvare il file e/o il progetto per disabilitare lo stato della sessione in tutte le pagine dell'applicazione.

Disabilitare lo stato della sessione a livello di pagina

La procedura seguente illustra come disabilitare lo stato della sessione a livello di pagina, che interessa solo le pagine specifiche che abilitano queste modifiche:

  1. Avviare Visual Studio .NET e creare una nuova applicazione Web ASP.NET.

  2. In Esplora soluzioni fare doppio clic sul Web Form per il quale si vuole disabilitare lo stato della sessione.

  3. Selezionare la scheda HTML .

  4. Nella parte superiore della pagina aggiungere EnableSessionState="false" la direttiva @ Page. L'attributo modificato dovrebbe essere simile al seguente:

    <%@ Page language="c#" Codebehind="WebForm1.aspx.cs"
    AutoEventWireup="false" Inherits="WebApplication1.WebForm1"
    EnableSessionState="false" %>
    
  5. Salvare il file e/o il progetto per disabilitare lo stato della sessione in tutte le pagine dell'applicazione.

Risoluzione dei problemi

Se si tenta di impostare o recuperare informazioni quando lo stato della sessione è disabilitato, viene visualizzato il messaggio di errore seguente:

Lo stato della sessione può essere usato solo quando enableSessionState è impostato su true, in un file di configurazione o nella direttiva Page

Riferimenti