Freigeben über


Gewusst wie: Lesen von Werten aus dem Sitzungszustand

Aktualisiert: November 2007

In diesem Beispiel wird auf die Item-Eigenschaft zugegriffen, um die Werte im Sitzungszustand abzurufen.

Beispiel

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"]);

Kompilieren des Codes

Für dieses Beispiel muss Folgendes vorhanden sein:

  • Eine Web Forms-Seite oder -Klasse, die über die Current-Eigenschaft einer ASP.NET-Anwendung mit aktiviertem Sitzungszustand Zugriff auf den aktuellen Anforderungskontext hat.

Robuste Programmierung

Beim Versuch, einen nicht vorhandenen Wert aus dem Sitzungszustand abzurufen, wird keine Ausnahme ausgelöst. Um sicherzustellen, dass sich der gewünschte Wert im Sitzungszustand befindet, sollten Sie zuerst überprüfen, ob das Objekt vorhanden ist. Verwenden Sie dazu beispielsweise folgenden Test:

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.

Wenn Sie versuchen, einen nicht vorhandenen Sitzungszustandseintrag auf andere Weise zu verwenden (beispielsweise, um seinen Typ zu untersuchen), wird eine NullReferenceException-Ausnahme ausgelöst.

Sitzungswerte haben den Typ Object. Wenn Sie in Visual Basic Option Strict On festlegen, müssen Sie beim Abrufen von Werten außerhalb des Sitzungszustands wie im folgenden Beispiel dargestellt den Typ Object in den entsprechenden Typ umwandeln. In C# sollten Sie immer in den geeigneten Typ umwandeln, wenn Sie die Sitzungswerte lesen.

Siehe auch

Konzepte

Übersicht über den ASP.NET-Ansichtszustand

Übersicht über die ASP.NET-Zustandsverwaltung

Empfehlungen zur ASP.NET-Zustandsverwaltung

Übersicht über die ASP.NET-Zustandsverwaltung