Speicherung des Client-Session-Zustands im ASP.NET In unserer Einführung zum Session-Modell oben sehen Sie, dass der Sessionszustand an zwei Orten gespeichert werden sollte, nämlich auf der Client- und auf der Serverseite. Der Client ist nur dafür verantwortlich, die Session-ID der entsprechenden Website zu speichern, während andere Session-Informationen auf Serverseite gespeichert werden. Im ASP wird die SessionID des Clients tatsächlich als Cookie gespeichert. Wenn der Nutzer sich entscheidet, Cookies in den Browsereinstellungen zu deaktivieren, kann er die Bequemlichkeit der Sitzung nicht genießen und möglicherweise sogar nicht auf bestimmte Websites zugreifen. Um die oben genannten Probleme zu lösen, gibt es zwei Arten von Speichermethoden für Sitzungsinformationen im ASP.NET: Cookies und cookiesless. In ASP.NET verwendet der Client standardmäßig weiterhin Cookies, um Sitzungsinformationen zu speichern. Wenn wir cookiesless auf dem Client verwenden wollen, um Sitzungsinformationen zu speichern, ist die folgende Methode: Suchen Sie das Root-Verzeichnis der aktuellen Webanwendung, öffnen Sie die Web.Config-Datei und finden Sie folgenden Absatz: <Sitzungszustand modus="InProc" stateConnectionString="tcpip=127.0.0.1:42424" sqlConnectionString="Data Source=127.0.0.1; Trusted_Connection=ja" cookieless="false" Timeout="20"
/> cookieless="false" in diesem Absatz wird zu cookieless="true" geändert, sodass die Sitzungsinformationen des Clients nicht mehr von Cookies gespeichert werden, sondern über die URL. Das Schließen des aktuellen IE, das Öffnen eines neuen IE und der erneute Zugriff auf die Webanwendung sieht wie folgt aus: Darunter ist die fettgedruckte Schriftart in http://localhost/MyTestApplication/(ulqsek45heu3ic2a5zgdl245)/default.aspx die Session-ID des Client. Beachten Sie, dass diese Information automatisch von IIS hinzugefügt wird und die vorherige normale Verbindung nicht beeinflusst.
|