ASP .NET Check für die Sitzung

Ich würde gerne prüfen, die Existenz der Sitzung in einem base-Seite der Klasse, bevor ich es verwenden, aber ich habe festgestellt, dass wenn es nicht vorhanden ist, es wird eine Ausnahme nur durch die Prüfung:

if (Session != null)
{
    Session.Remove("foo");
}

Wirft diese exception:

Session state kann nur verwendet werden, wenn enableSessionState auf true gesetzt ist, entweder in einem
Konfiguration-Datei oder in der seitendirektive. Bitte stellen Sie auch sicher, dass
System.Web.SessionStateModule oder ein benutzerdefiniertes sitzungszustandsmodul ist in enthalten die
\\ Abschnitt in die Konfiguration der Anwendung.

Die überprüfung erfolgt im Load-Ereignis der Basis-Seite-Klasse, alle meine aspx-Seiten ableiten. Die app hat die Sitzung aktiviert, und es hat den aufgelisteten module in der httpModules-Knoten. Dies ist eine app, die verwendet session-Häufig, in der Regel ohne problem.

Ich bekomme diese Fehlermeldung nur auf bestimmten Seiten und die meisten der Zeit es ist nicht zuverlässig. Ich weiß, ich sollte etwas anderes zu tun, um zu verhindern, dass die Fehler, aber ich bin mir nicht sicher, was?

Bin ich dem Aufruf der Session zu früh im Lebenszyklus vielleicht?
Bin ich die Prüfung nicht korrekt, ob die session vorhanden ist?

InformationsquelleAutor Pete Michaud | 2009-07-14
Schreibe einen Kommentar