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