Freigeben über


HttpSessionState.SessionID-Eigenschaft

Ruft den eindeutigen Bezeichner der Sitzung ab.

Namespace: System.Web.SessionState
Assembly: System.Web (in system.web.dll)

Syntax

'Declaration
Public ReadOnly Property SessionID As String
'Usage
Dim instance As HttpSessionState
Dim value As String

value = instance.SessionID
public string SessionID { get; }
public:
property String^ SessionID {
    String^ get ();
}
/** @property */
public String get_SessionID ()
public function get SessionID () : String

Eigenschaftenwert

Der eindeutige Sitzungsbezeichner.

Hinweise

Die SessionID-Eigenschaft wird verwendet, um einen Browser mit Sitzungsdaten auf dem Server eindeutig zu identifizieren. Der SessionID-Wert wird von ASP.NET nach dem Zufallsprinzip generiert und in einem Sitzungscookie ohne Ablaufdatum im Browser gespeichert. Der SessionID-Wert wird dann bei jeder Anforderung an die ASP.NET-Anwendung in einem Cookie gesendet.

Wenn Sie die Verwendung von Cookies in Ihrer ASP.NET-Anwendung deaktivieren, aber dennoch mit dem Sitzungszustand arbeiten möchten, können Sie Ihre Anwendung so konfigurieren, dass der Sitzungsbezeichner statt in einem Cookie im URL gespeichert wird. Legen Sie hierzu das cookieless-Attribut des sessionState-Konfigurationselements in der Datei Web.config Ihrer Anwendung auf true oder UseUri fest. Sie können festlegen, dass ASP.NET bestimmt, ob der Browser Cookies unterstützt, indem Sie den Wert UseDeviceProfile für das cookieless-Attribut angeben. Sie können außerdem festlegen, dass ASP.NET bestimmen soll, ob Cookies im Browser aktiviert sind, indem Sie den Wert AutoDetect für das cookieless-Attribut angeben. Wenn bei der Angabe von UseDeviceProfile Cookies unterstützt oder bei der Angabe von AutoDetect Cookies aktiviert sind, wird der Sitzungsbezeichner in einem Cookie gespeichert. Andernfalls wird der Sitzungsbezeichner im URL gespeichert. Weitere Informationen finden Sie unter der IsCookieless-Eigenschaft.

Die SessionID wird zwischen Server und Browser als Klartext übertragen, entweder als Cookie oder im URL. Daher könnte eine böswillige Person Zugriff auf die Sitzung einer anderen Person erlangen, indem sie sich den SessionID-Wert verschafft und in Anforderungen an den Server verwendet. Wenn Sie im Sitzungszustand private oder vertrauliche Informationen speichern, ist es empfehlenswert, SSL zum Verschlüsseln von Kommunikation zwischen dem Browser und dem Server zu verwenden, die die SessionID enthält.

Bei der Verwendung eines cookiebasierten Sitzungszustands reserviert ASP.NET keinen Speicherplatz für Sitzungsdaten, bis das Session-Objekt verwendet wird. Als Ergebnis wird eine neue Sitzungs-ID für jede Seitenanforderung generiert, bis auf das Sitzungsobjekt zugegriffen wird. Wenn Ihre Anwendung eine statische Sitzungs-ID für die gesamte Sitzung benötigt, können Sie entweder die Session_Start-Methode in der Anwendungsdatei Global.asax implementieren und Daten im Session-Objekt speichern, um die Sitzungs-ID zu fixieren, oder Sie können Daten im Session-Objekt mithilfe von Code aus einem anderen Teil Ihrer Anwendung explizit speichern.

Wenn die Anwendung einen Sitzungszustand ohne Cookies verwendet, wird die Sitzungs-ID in der ersten Seitenansicht generiert und für die gesamte Sitzung beibehalten.

Beispiel

Im folgenden Codebeispiel wird veranschaulicht, wie der Sitzungszustand in der Datei Web.config so konfiguriert wird, dass Sitzungsbezeichner ohne Cookies verwendet werden. Weitere Informationen finden Sie unter der IsCookieless-Eigenschaft.

<configuration>
  <system.web>
    <sessionState 
      cookieless="true"
      regenerateExpiredSessionId="true"
      timeout="30" />
  </system.web>
</configuration>

Plattformen

Windows 98, Windows 2000 SP4, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition

.NET Framework unterstützt nicht alle Versionen sämtlicher Plattformen. Eine Liste der unterstützten Versionen finden Sie unter Systemanforderungen.

Versionsinformationen

.NET Framework

Unterstützt in: 2.0, 1.1, 1.0

Siehe auch

Referenz

HttpSessionState-Klasse
HttpSessionState-Member
System.Web.SessionState-Namespace

Weitere Ressourcen

Übersicht über den Sitzungszustand