Deaktivieren des ASP-Sitzungszustands in ASP.NET

In diesem Artikel wird veranschaulicht, wie Sie den Sitzungszustand in ASP.NET deaktivieren.

              Originale Produktversion: ASP.NET
Ursprüngliche KB-Nummer: 306996

Zusammenfassung

Wenn der Sitzungszustand aktiviert ist, erstellt ASP.NET für jeden Benutzer, der auf die Anwendung zugreift, eine Sitzung, die verwendet wird, um den Benutzer seitenübergreifend innerhalb der Anwendung zu identifizieren. Wenn der Sitzungszustand deaktiviert ist, werden Benutzerdaten nicht nachverfolgt, und Sie können keine Informationen im Session Objekt speichern oder die Session_OnStart Ereignisse oder Session_OnEnd verwenden. Durch Deaktivieren des Sitzungszustands können Sie die Leistung erhöhen, wenn die Anwendung oder die Seite keinen Sitzungszustand benötigt, um ihn zu aktivieren.

Wenn Sie in ASP.NET das Session -Objekt nicht zum Speichern von Daten verwenden oder wenn eines der Ereignisse (Session_OnStart oder Session_OnEnd) behandelt wird, ist der Session Sitzungszustand deaktiviert. Jedes Mal, wenn eine einzelne Seite in einer Browsersitzung aktualisiert wird, wird ein neues Session.SessionID erstellt.

Deaktivieren des Sitzungszustands auf Anwendungsebene

Die folgenden Schritte veranschaulichen, wie der Sitzungszustand auf Anwendungsebene deaktiviert wird, was sich auf alle Seiten in der Anwendung auswirkt:

  1. Starten Sie Microsoft Visual Studio .NET, und erstellen Sie eine neue ASP.NET-Webanwendung.
  2. Doppelklicken Sie Projektmappen-Explorer auf Web.config, um den Inhalt dieser Datei anzuzeigen.
  3. Suchen Sie den <sessionState> Abschnitt, und legen Sie den Moduswert auf Aus fest.
  4. Speichern Sie die Datei und/oder das Projekt, um den Sitzungszustand auf allen Seiten in der Anwendung zu deaktivieren.

Deaktivieren des Sitzungszustands auf Seitenebene

Die folgenden Schritte veranschaulichen, wie der Sitzungszustand auf Seitenebene deaktiviert wird, was sich nur auf die spezifischen Seiten auswirkt, die diese Änderungen ermöglichen:

  1. Starten Sie Visual Studio .NET, und erstellen Sie eine neue ASP.NET-Webanwendung.

  2. Doppelklicken Sie Projektmappen-Explorer auf das Webformular, für das Sie den Sitzungszustand deaktivieren möchten.

  3. Wählen Sie die Registerkarte HTML aus.

  4. Fügen Sie oben auf der Seite die @Page-Direktive hinzu EnableSessionState="false" . Das geänderte Attribut sollte in etwa wie folgt aussehen:

    <%@ Page language="c#" Codebehind="WebForm1.aspx.cs"
    AutoEventWireup="false" Inherits="WebApplication1.WebForm1"
    EnableSessionState="false" %>
    
  5. Speichern Sie die Datei und/oder das Projekt, um den Sitzungszustand auf allen Seiten in der Anwendung zu deaktivieren.

Problembehandlung

Wenn Sie versuchen, Informationen festzulegen oder abzurufen, wenn der Sitzungszustand deaktiviert ist, erhalten Sie die folgende Fehlermeldung:

Der Sitzungszustand kann nur verwendet werden, wenn enableSessionState auf true festgelegt ist, entweder in einer Konfigurationsdatei oder in der Page-Direktive.

References