Eine klassische Seite besteht aus 4 Framesets. Wenn alle 4 Framesets inaktiv sind, dann Timeout für die Anmeldeseite. So legen Sie das Timeout für die klassische ASP-Seite mit Frameset fest.Settimeout - Frameset in Asp Seite
Antwort
Nach Deafult-Sitzung ist die Zeitüberschreitung 20 Minuten. Sie können es ändern, indem Sie den folgenden Code
Session.Timeout (= intMinutes)
ex: Session.Timeout= 10
in Ihrer ASP-Seite hinzufügen.
Sie könnten einige JS auf Ihrer Seite haben, die bis zu Ihrem Sitzungszeitlimit zählt (siehe Shobans-Antwort, wie Sie das einstellen). Dann, wenn der JS-Timeout (dh erreicht seine Session-Timeout), dann könnten Sie sie (Client-Seite) auf Ihre Anmeldeseite umleiten, wie Sie dies tun. So etwas sollte es tun:
<script type="text/javascript">
// Get the current server side timeout (times 1000 to convert it into JS milliseconds
var timeout = <%= Session.TimeOut * 1000 %>;
// This is the function that does the framebusting and redirecting to your login page
function GoToLogin() {
top.location.replace("yourloginpage.asp");
}
// Set it up to run when the timeout expires
setTimeout(GoToLogin, timeout);
</script>
Sollte der Benutzer alles tun, um die Seite dann Timer wird zurückgesetzt, schön neu zu laden. Ziehe das nicht in alle deine Frames, du brauchst es nur wirklich in deinem Hauptframe, du willst es nicht in einem Navigationsframe, der keine Action bekommt, du wirst immer Timeout!
Ein Zusatz könnte sein, dass die Seite nur aktualisiert wird. Wenn die Zeit abgelaufen ist, kann der serverseitige Code den Benutzer auf die Anmeldeseite umleiten (dies würde jedoch im Rahmen erscheinen, also würde Ihre Anmeldeseite benötigt) ein Frame-Buster, der den top.location-Trick oben verwenden würde).
Ich denke, Session.TimeOut ist eine Eigenschaft. Es sollte Session.TimeOut = 10 sein. – adatapost
oops sorry! geändert. – Shoban