Kann eine Sitzung während der Seitenverarbeitung in C # ablaufen?

8

Ich versuche ein Problem zu lösen, bei dem die Session-ID beim Postback mysteriös zu klarkommt. Ich bin mir sicher, dass der Wert festgelegt wird und es keinen anderen Ort in meinem Code gibt, an dem ich diese Sitzung lösche. Außerdem speichere ich den Wert der Session-ID im Viewstate meiner Seite. Während des Postbacks ist der Viewstate leer, was im Wesentlichen bedeutet, dass die Sitzungsvariable null war, wenn der Wert dem viewstate zugewiesen wurde. Ist es möglich, dass während der Codeausführung das Session-Objekt wegen Timeouts gelöscht wird?

Sagen wir also, wenn ich folgenden Code habe.

%Vor%

ist es theoretisch möglich, dass, obwohl die Sitzung ["id"] in Zeile 1 nicht null ist, sie in Zeile 5 wegen Zeitüberschreitung null ist.

    
CSC 15.08.2012, 14:47
quelle

3 Antworten

3

Ich werde nein sagen müssen. Ich habe gerade eine Website erstellt und das Sitzungszeitlimit auf 1 (Minute) festgelegt.

%Vor%

Fügte dann eine Webseite mit dieser in die Seite laden

%Vor%

Ich habe auf dem Cassini VS Debugger und auf IIS 7 asp.net 4 getestet und in jedem Test lädt die Seite mit Session ["Test"] = Tester. Ich habe auch versucht, den Anwendungspool manuell während des Schlafs zu recyceln und habe die gleichen Ergebnisse erhalten.

    
Zeph 15.08.2012, 18:06
quelle
1

das ist mein Code und es funktioniert einwandfrei ...

%Vor%

Ändern Sie "Sitzung" zu "Session" und "Viewstate" zu "ViewState"

    
Ankush Jain 16.08.2012 14:06
quelle
0

Nein, weil Sie nie zu Zeile 5 gelangen würden, wenn ein Timeout aufgetreten wäre. Das Programm, Dienst, was auch immer, würde aufhören zu laufen.

    
sanpaco 15.08.2012 17:52
quelle

Tags und Links