2017-01-31 1 views
1

Wir haben eine MVC-Anwendung, die eine Sitzungszeitüberschreitung hat. Irgendwo nehme ich an, dass die Sitzungszeit verfolgt wird.Client-Seiten-Timer für Sitzung in MVC

Ich muss auf der Client-Seite einen visuellen Timer zeigen.

Ich habe Beispiele mit jQuery betrachtet, aber diese sind hauptsächlich Client-Seite nur mit nicht Kommunikation mit der Anwendung Timer.

Was ist der beste Ansatz, um die Sitzungszeit auf die Clientseite zu bringen, um eine visuelle Darstellung des Sitzungstimers anzuzeigen?

Vielen Dank im Voraus.

+0

Wenn Sie den Server kontaktieren, wird er zurückgesetzt, was ist das Ziel? –

+0

Der Server wird möglicherweise nicht kontaktiert. Wenn der Benutzer mehr als 20 Minuten auf einer Checkout-Seite sitzt, ist seine Sitzung bereits abgelaufen, wenn er sie abschickt. Das könnte Probleme verursachen. –

Antwort

0

Im Wesentlichen muss Ihr Timer clientseitig sein. @SteveGreene ist in der Hinsicht richtig, dass wenn Sie den Server kontaktieren, das Sitzungszeitlimit zurückgesetzt wird. Wenn Sie also lange nach der aktuell verbleibenden Zeit vom Server suchen würden, wäre es effektiv immer gleich, wie jede Anfrage an die Uhrzeit abrufen würde das Timeout zurücksetzen.

Sie müssen nur die Zeitüberschreitung kennen und dann einen clientseitigen Timer basierend darauf einstellen. Beispiel: Das Standard-Zeitlimit beträgt 20 Minuten. Sie erstellen also auf der Client-Seite beim Laden einer Seite mit 20 Minuten einen Timer. Wenn nichts unternommen wird, um das Zeitlimit zurückzusetzen, wird die Sitzung bei Ablauf des clientseitigen Zeitgebers ebenfalls abgelaufen sein.

+0

Das Problem besteht darin, dass das Zeitlimit standortweit ist und nicht auf einer Aktion oder einem DOM-Neuladen basiert. Das bedeutet, dass der Kunde 20 Minuten Zeit hat, eine vollständige Transaktion abzuschließen. Dies bedeutet, während sie auf unserer Website herumspringen. Ich kann sehen, wie das Session-Timeout-Ereignis für die Controller-Aktion mit einem Aktions-Ergebnis-Aufruf ausgelöst wird, aber ich muss den Timer im letzten Intervall halten, wenn er die Seite verlässt. Würde ein Cookie funktionieren? Ich weiß nicht, ob Cookies im Zeitstempeln granular werden können. – ClosDesign

+0

Sie verbinden zwei verschiedene Dinge. Das Sitzungszeitlimit ist gleitend, nicht absolut. Wenn der Benutzer die Site navigiert, setzt er das Timeout bei jeder Anforderung zurück. Mit anderen Worten, wenn sie die Site aktiv verwenden, wird die Zeitüberschreitung nie auftreten. Wenn Sie sicherstellen müssen, dass innerhalb von 20 Minuten eine Aktion ausgeführt werden muss, müssen Sie dies selbst nachverfolgen. –

Verwandte Themen