ASP.NET: Zugriff auf Sitzungsvariable in global.asax

8

Ich habe eine ASP.NET-Anwendung und im Global.asax 'Application Error Event rufe ich eine Methode auf, um den Fehler zu verfolgen / zu protokollieren. Ich möchte den Inhalt der Sitzungsvariablen hier verwenden. Ich habe den folgenden Code verwendet:

%Vor%

Ich erhalte einen Fehler in der Codezeile, wo ich auf die Sitzungsvariable zugreife. Visual Studio sagt das

  

"Sitzung ist in diesem Kontext nicht verfügbar"

Wie wird man das los? Irgendwelche Gedanken?

Vielen Dank im Voraus

    
Shyju 22.07.2009, 10:57
quelle

3 Antworten

11

Es sollte funktionieren, wenn Sie es so machen:

%Vor%

Weil ich das selbst tue.

Was genau meinen Sie damit? Visual Studio sagt, dass "Sitzung in diesem Kontext nicht verfügbar ist"? Erhalten Sie einen Compilerfehler oder eine Laufzeitausnahme?

Sie könnten versuchen, defensiver zu sein und zu testen, ob es tatsächlich einen aktuellen HttpContext und eine Session gibt:

%Vor%     
Remko Jansen 22.07.2009, 11:28
quelle
3

Ich denke, der Anwendungsfehler ist spezifisch für die gesamte Anwendung und eine Sitzung ist spezifisch für den Benutzer. Vielleicht können Sie Ihre eigene Exception auslösen, wo Sie die Informationen aus der Sitzung innerhalb Ihrer Exception speichern.

    
Magnus Bertilsson 22.07.2009 11:10
quelle
1

Sie können dies versuchen:

%Vor%

Dann musst du folgendes verwenden:

%Vor%

, aber wenn die Ausnahme ausgelöst wurde, bevor das Sitzungsobjekt geladen wurde, ist es null

    
Jan Remunda 22.07.2009 12:02
quelle

Tags und Links