Condividi tramite


Procedura: leggere i valori dallo stato sessione

Aggiornamento: novembre 2007

In questo esempio viene mostrato come accedere alla proprietà Item per recuperare i valori nello stato sessione.

Esempio

Dim firstName as String = CType(Session.Item("FirstName"), String)
Dim lastName as String = CType(Session.Item("LastName"), String)
Dim city as String = CType(Session.Item("City"), String)
string firstName = (string)(Session["First"]);
string lastName = (string)(Session["Last"]);
string city = (string)(Session["City"]);

Compilazione del codice

L'esempio presenta i seguenti requisiti:

  • Una classe o una pagina Web Form in grado di accedere al contesto della richiesta corrente utilizzando la proprietà Current in un'applicazione ASP.NET in cui è attivato lo stato sessione.

Programmazione efficiente

Se si tenta di recuperare un valore inesistente che non si trova nello stato sessione, non verrà generata alcuna eccezione. Per accertarsi che il valore desiderato si trovi nello stato sessione, verificare innanzitutto l'esistenza dell'oggetto mediante un test simile al seguente:

If Session.Item("FirstName") Is Nothing Then
    ' No such value in session state, take appropriate action.
End If
if (Session["City"] == null) 
    // No such value in session state; take appropriate action.

Se si tenta di utilizzare una voce dello stato sessione inesistente in un altro modo, ad esempio per esaminarne il tipo, verrà generata un'eccezione NullReferenceException.

I valori di sessione sono di tipo Object. Se in Visual Basic si imposta Option Strict On, sarà necessario eseguire il cast dal tipo Object nel tipo appropriato quando si recuperano i valori dallo stato sessione, come illustrato nell'esempio. In C# è sempre necessario eseguire il cast nel valore appropriato quando si leggono i valori di sessione.

Vedere anche

Concetti

Cenni preliminari sullo stato di visualizzazione ASP.NET

Cenni preliminari sulla gestione dello stato ASP.NET

Suggerimenti per la gestione dello stato di ASP.NET

Cenni preliminari sulla gestione dello stato ASP.NET