Sdílet prostřednictvím


Steuern des Sitzungszustands

Aktualisiert: November 2007

Microsoft ASP.NET stellt ein HttpSessionState-Objekt bereit, mit dem Sie Informationen zu einer Benutzersitzung über mehrere Anforderungen speichern können. Das Feature zur Sitzungsverwaltung in ASP.NET ist skalierbar und stabil und kann über Webfarmen hinweg verwendet werden.

Überlegungen zu Sitzungen ohne Cookies

Standardmäßig verwendet das ASP.NET-Sitzungsobjekt ein clientseitiges Cookie, um einen Bezeichner zu speichern. Mit diesem Bezeichner können Sie eine Sitzung über Serverschleifen hinweg suchen. ASP.NET unterstützt aber auch einen Sitzungsmodus ohne Cookies, der den Client zuerst zu einer neuen URL mit der Sitzungs-ID weiterleitet und dann automatisch die Sitzungs-ID aus der URL analysiert.

Für ASP.NET Mobile-Webseiten, die den Sitzungszustand verwenden, müssen Sie die folgenden Faktoren berücksichtigen:

  • Einige mobile Geräte und Gateways unterstützen keine Cookies. In diesen Fällen muss für den Webserver die Sitzungsverwaltung auf den Modus ohne Cookies festgelegt sein.

  • Bei einigen mobilen Geräten treten Probleme bei der Behandlung von relativen URLs auf, nachdem sie durch das von der Sitzungsverwaltung ohne Cookies verwendete Verfahren umgeleitet wurden.

Verwenden von Alternativen zu Cookies

Einige mobile Geräte unterstützen keine Cookies. Daher müssen Sie nach alternativen Verfahren für Szenarien suchen, die einen beständigen Zustand erfordern. Wenn sich ein Benutzer beispielsweise auf einer Seite anmeldet, kann die Anwendung eine Anmeldekennung zuweisen, die für den Rest der Sitzung verwendet wird. In der Regel wird für diese Art der Authentifizierung ein Cookie verwendet. Es handelt sich also um eine cookiebasierte Authentifizierung. Die cookiebasierte Authentifizierung ist jedoch keine Option auf Geräten, die keine Cookies unterstützen. Sie müssen stattdessen auf einen anderen Zustandsverwaltungsmechanismus zurückgreifen.

Sitzungszustand

Eine Alternative ist die Verwendung des Sitzungszustands. Da Sie den Sitzungszustand so konfigurieren können, dass keine Cookies verwendet werden, können Benutzer die ID im Sitzungszustand beibehalten. Dieses Verfahren hat allerdings den Nachteil, dass die Informationen mit Beendigung der Sitzung ablaufen. Außerdem ist für dieses Verfahren immer die Verwendung des Sitzungszustands erforderlich.

Ausgeblendete Variablen

ASP.NET Mobile-Webseiten enthalten kein mobiles Steuerelement für das Schreiben ausgeblendeter Variablen. Stattdessen stellt das Formular eine Auflistung mit dem Namen HiddenVariables innerhalb der MobilePage-Klasse bereit. Alle in dieser Auflistung gespeicherten Name-Wert-Paare werden als ausgeblendete Variablen beibehalten. Die HiddenVariables-Auflistung wird nach Senden des Formulars automatisch mit diesen ausgeblendeten Variablen wieder gefüllt.

Bei dieser Alternative werden ausgeblendete Variablen auf einer Seite verwendet. Ausgeblendete Variablen werden automatisch als Teil einer Formularübermittlung erneut gesendet, unabhängig davon, ob die Übermittlung zu derselben oder zu einer anderen Seite erfolgt.

Siehe auch

Konzepte

Steuern des Anzeigezustands

Übersicht über die ASP.NET-Zustandsverwaltung

Referenz

LoadPrivateViewState

SavePrivateViewState

HiddenVariables

MobilePage

Weitere Ressourcen

Unterstützen des Ansichtszustands

Erstellen von ASP.NET Mobile-Webseiten

Anwendungsentwicklerhandbuch

Entwickeln von ASP.NET Mobile-Webseiten