Wird das Sitzungs-Timeout bei jeder Anfrage zurückgesetzt
Lesezeit: 5 Minuten
Arian
Wird das Sitzungs-Timeout bei jeder Anfrage zurückgesetzt, unabhängig davon, ob wir Sitzungsvariablen überprüfen? Oder sollten wir mindestens eine Sitzungsvariable verwenden?
Verursacht die Ajax-Anforderung das Zurücksetzen des Sitzungszeitlimits? wie Update Panel ,jQuery ajax ,…
Danke
Bearbeiten 1)
Tut HTTP Get Ursache für das Zurücksetzen des Sitzungs-Timeouts??
Ich habe diese Frage gestellt: stackoverflow.com/questions/10432428/…
– Dan An
4. Mai 2012 um 9:28 Uhr
Verwenden Sie fiddler oder f12 innerhalb von dh. Sie werden sehen, dass alle Cookies (einschließlich des Session-Cookies) gesendet werden, sogar AJAX-Aufrufe. Der Server ist sich also der Aktivität bewusst. Um es kurz zu machen, Ajax oder kein Ajax, die Sitzung wird durch Benutzeraktivität verlängert.
– Arkturus
8. Mai 2012 um 21:10 Uhr
Pankaj
Wird das Sitzungs-Timeout bei jeder Anfrage zurückgesetzt, unabhängig davon, ob wir Sitzungsvariablen überprüfen?
Session läuft nicht ab, wenn Sie weiterhin serverseitigen Code aufrufen. Die session Zeitüberschreitung wird bei jeder Anfrage an den Server zurückgesetzt. Bei nachfolgenden Anfragen an dieselbe Website liefert der Browser die ASP.NET_SessionId Cookie die das serverseitige Modul verwendet, um auf den Sitzungswert (wie Benutzerinformationen) zuzugreifen.
---------------------------------------------------------------------------------
How to detect the Session TimeOut
---------------------------------------------------------------------------------
Frage 2 – Verursacht die Ajax-Anfrage das Zurücksetzen des Sitzungs-Timeouts? wie Update Panel, jQuery Ajax, …
Frage 3 – Verursacht HTTP Get das Zurücksetzen des Sitzungs-Timeouts?
Session verfällt, wenn der Benutzer zu lange zwischen den Anfragen gewartet hat. Session verfällt nicht, wenn Sie weiter anrufen server side Code. Die session Zeitüberschreitung wird bei jeder Anfrage an den Server zurückgesetzt
Ich denke Session will not expire if you keep on calling server side code Aussage stimmt nicht. Ich habe eine einfache Seite mit einer Update Panel und eine Schaltfläche, ich klicke alle 2 Minuten auf die Schaltfläche und die Sitzung läuft nach 20 Minuten ab
– Arian
3. Mai 2012 um 18:42 Uhr
@Kerezo – Ich habe eine Sitzung Timeout = 1 in meinem Web.config. Ich habe die gleiche Anzahl von Steuerelementen in meinem Formular. Ich drücke die Taste nach jeweils 15 Sekunden und der Vorgang dauerte bis zu 3 Minuten.
– Pankaj
3. Mai 2012 um 18:55 Uhr
Sind Sie Sessions? CookieLess?
– Arian
3. Mai 2012 um 18:59 Uhr
Ich denke, weil Cookieless=true Ihre Sitzung läuft nicht ab
– Arian
4. Mai 2012 um 15:33 Uhr
Jawohl. Andernfalls wird auch eine neue Sitzung gestartet. Entschuldigung, ich hatte den Eindruck, dass die Abfrage im Zusammenhang mit einer Sitzung mit Cookies stand.
– Pankaj
5. Mai 2012 um 18:24 Uhr
ja tut es. es spielt keine Rolle, ob Sie die tatsächlich verwenden Session oder nicht.
Wenn Sie jedoch verwenden nur Ajax-Aufrufe, könnten Sie auf einige Probleme stoßen.
(obwohl ich selbst noch nicht darauf gestoßen bin, Hierist eine Erklärung)
Können Sie erläutern, worüber Sie sich nicht sicher sind? wie gesagt, dieses verhalten ist mir noch nie begegnet, also bin ich nicht 100% ich selbst. Es sollte jedoch kein Problem sein, eine kleine Testwebseite zu erstellen, die AJAX-Anforderungen sendet, und zu sehen, ob die Sitzung am Leben erhalten wird oder nicht.
– J. Ed
29. April 2012 um 10:57 Uhr
Auch wenn Sie nur Ajax-Aufrufe verwenden, gibt es kein Problem.
– Arkturus
8. Mai 2012 um 21:05 Uhr
Hat jemand einen Beweis dafür, dass das SessionState-Timeout bei jeder neuen Anfrage “gleitet”? Betreff: AJAX-Aufrufe speziell, Benutzer J.Ed hat einen Link bereitgestellt ranjitkumars.wordpress.com/2010/03/02/… was darauf hindeutet, dass AJAX-Aufrufe das sessionState-Timeout nicht verschieben … aber Arcturus widerlegt das … und ich sehe nirgendwo eine offizielle Microsoft-Dokumentation …
– Die rote Erbse
1. Februar um 19:55 Uhr
Arkturus
Wird das Sitzungs-Timeout bei jeder Anfrage zurückgesetzt, unabhängig davon, ob wir Sitzungsvariablen überprüfen? Oder sollten wir mindestens eine Sitzungsvariable verwenden?
Bis eine Sitzungsvariable eingerichtet ist, wird für jede Rücksendung eine neue Sitzungs-ID generiert.
Verursacht die Ajax-Anforderung das Zurücksetzen des Sitzungszeitlimits? wie Update Panel, jQuery Ajax, …
Session-ID, die standardmäßig im Cookie gespeichert wird, wird für jede AJAX- sowie Nicht-AJAX-Anfrage gesendet. Daher weiß der Server, dass der Sitzungsbenutzer aktiv ist. Nehmen Sie nicht mein Wort dafür. Verwenden Sie Fiddler oder das F12-Tool in dh. Sie können sehen, dass die Cookies mit jeder AJAX GET/POST-Anforderung gesendet werden.
Dies hängt von vielen Faktoren ab, daher schlage ich vor, dass Sie einen Test wie unten durchführen. Es dauert wirklich weniger als 5 Minuten, um herauszufinden, ob Ihre genaue Situation in Ihrer Umgebung funktioniert. Hier ist mein Code, den ich zum Testen verwendet habe. Ich verwende Telerik-Steuerelemente, um die Idee zu testen, aber ich habe eine .get-Datei hinzugefügt, um genau die gewünschte Antwort zu erhalten. aspx-Seite hat
—Sie können das Obige so arrangieren, dass es zu Ihrer Situation passt. Aber die Idee ist einfach. Sie laden die Seite. Klicken Sie auf die Schaltfläche “Erneuern”, um Ihre Sitzung festzulegen. Warten Sie 61 Sekunden und die Seite wird aktualisiert und die Sitzungsvariable ist verschwunden. Versuchen Sie es erneut, aber klicken Sie dieses Mal nach einigen Sekunden auf eine der anderen beiden Schaltflächen, und wenn die Seite aktualisiert wird, werden Sie sehen, dass die Sitzungsvariable von den Ajax-Aufrufen intakt geblieben ist. Der Ajax-Aufruf aktualisiert in dieser Situation die Sitzungsvariable.
8355300cookie-checkWird das Sitzungs-Timeout bei jeder Anfrage zurückgesetztyes
Ich habe diese Frage gestellt: stackoverflow.com/questions/10432428/…
– Dan An
4. Mai 2012 um 9:28 Uhr
Verwenden Sie fiddler oder f12 innerhalb von dh. Sie werden sehen, dass alle Cookies (einschließlich des Session-Cookies) gesendet werden, sogar AJAX-Aufrufe. Der Server ist sich also der Aktivität bewusst. Um es kurz zu machen, Ajax oder kein Ajax, die Sitzung wird durch Benutzeraktivität verlängert.
– Arkturus
8. Mai 2012 um 21:10 Uhr