2009-03-09 11 views
0

Ich lese here, dass eine inproc asp.net Sitzung jedes Mal zurückgesetzt wird, wenn auf sie zugegriffen wird (Lesen oder Schreiben). Meine Frage ist, ob das Timeout auch zurückgesetzt wird, wenn ich nur die SessionID lese?Wird das ASP.Net Inproc-Sitzungstimeout zurückgesetzt, wenn auf die SessionID zugegriffen wird?

Beispiel: Session-Timeout ist auf 20 min eingestellt. Nach 15 min. Inaktivität Ich lade eine Seite und lese die Session.SessionID. Wird die Sitzung nach weiteren 10 Minuten noch existieren?

Und noch eine Frage: Ist es wichtig, ob die Seite direkt geladen wird oder über AJAX zugreift?

Antwort

2

Es scheint mir, dass Sie zwei verschiedene Dinge vermischen: Das Lesen eines Werts aus dem Sitzungsstatus (im Code) unterscheidet sich von dem Anfügen einer Instanz von SessionState an die aktuelle Anforderung.

Wenn ich mich nicht sehr irre, wird das Zeitlimit nicht jedes Mal aktualisiert, wenn Sie auf ein Session-Objekt zugreifen (wieder im Code), sondern es wird aktualisiert, wenn eine neue Anfrage geliefert wird. Dies geschieht, weil das SessionState-Element selbst zum Cache hinzugefügt wird (und die Ablaufrichtlinie festgelegt ist).

So, um Ihre Frage zu beantworten: Das Timeout wird nicht zurückgesetzt.

Um auf das Beispiel einzugehen, das Sie gaben: Das Zeitlimit wird auf der Last der Seite zurückgesetzt, anstatt, wenn Sie die SessionID in Code lesen.

+0

Yup, das kommt total auf den Punkt :-) –

+0

Vielleicht nicht ... noch keine Stimmen! :-(;-) – Cerebrus

1

Der Zugriff auf die Sitzungs-ID wirkt sich nicht auf das Sitzungs-Timeout aus. Wenn Sie einen Blick mit Reflektor nehmen, sieht das Sitzungs-Eigenschaft (implementiert in HttpSessionStateContainer) wie folgt aus:

public string SessionID 
{ 
    get 
    { 
     if (this._id == null) 
     { 
      this._id = this._stateModule.DelayedGetSessionId(); 
     } 
     return this._id; 
    } 
} 

Welche berührt nicht die zugrunde liegenden gespeicherten Elemente.

Auch auf dieser Ebene ist es egal, woher die Anfrage kam (Ajax/Normal).

Verwandte Themen