Empfohlen: Interpretation der korrekten Verwendung von Sitzungsobjektvariablen in ASP Jeder, der ASP verwendet, weiß, dass ein Sitzungsobjekt die für eine bestimmten Benutzersitzung erforderlichen Informationen speichert. Wenn ein Benutzer zwischen Seiten der Anwendung springt, werden Variablen, die im Sitzungsobjekt gespeichert sind, nicht gelöscht, und diese Variablen sind immer vorhanden, wenn der Benutzer auf die Seite in der Anwendung zugreift. Es kann die Komplexität des Programms verringern und die Programmierungseffizienz verbessern, aber auch viele Mängel.
1. Attribute1. Sessionid
Die SessionID -Eigenschaft gibt die Sitzungsidentität des Benutzers zurück. Beim Erstellen einer Sitzung generiert der Server für jede Sitzung eine separate Identität. Die Sitzungskennung wird als länglicher Datentyp zurückgegeben. In vielen Fällen kann SessionID für die Registrierung von Webseiten verwendet werden.
2. Zeitüberschreitung
Die Timeout -Eigenschaft gibt in wenigen Minuten ein Zeitleitungszeitlimit für das Sitzungsobjekt der Anwendung an. Wenn der Benutzer innerhalb dieses Zeitüberschreitungszeitraums keine Webseite aktualisiert oder anfordert, wird die Sitzung beendet.
2. Methode
Es gibt nur eine Methode für Sitzungsobjekte, die verlassen ist. Die Verlassenungsmethode löscht alle in Sitzungsobjekten gespeicherten Objekte und fördert die Quelle dieser Objekte. Wenn Sie die Vertragsmethode nicht explizit aufrufen, löscht der Server diese Objekte, sobald die Sitzung abgelaufen ist. Wenn der Server die aktuelle Seite verarbeitet hat, wird im folgenden Beispiel den Sitzungsstatus veröffentlicht.
<%Session.abandon%>
III. Ereignisse
Das Sitzungsobjekt enthält zwei Ereignisse, die verwendet werden können, wenn das Sitzungsobjekt gestartet wird und veröffentlicht wird.
1. Das Session_onstart -Ereignis erfolgt, wenn der Server eine neue Sitzung erstellt. Der Server verarbeitet das Skript, bevor die angeforderte Seite ausgeführt wird. Das Session_onstart -Ereignis ist die beste Zeit, um Sitzungsvariablen festzulegen, da sie vor dem Zugriff auf Seiten eingestellt sind.
Obwohl das Sitzungsobjekt bleibt, wenn das Session_onstart -Ereignis Weiterleitungs- oder Endmethodenaufrufe enthält, stoppt der Server die Verarbeitung der global.asa -Datei und löst das Skript in der Datei aus, die das Session_onstart -Ereignis auslöst.
Um sicherzustellen, dass der Benutzer beim Öffnen einer bestimmten Webseite immer eine Sitzung startet, kann die Umleitungsmethode im Session_onstart -Ereignis aufgerufen werden. Wenn der Benutzer in die Anwendung eingeht, erstellt der Server eine Sitzung für den Benutzer und verarbeitet das Skript von Session_onstart -Ereignis. Sie können das Skript in diesem Ereignis einfügen, um zu überprüfen, ob die vom Benutzer geöffnete Seite eine Startseite ist. Wenn nicht, weist dies den Benutzer an, die Antwort der Antwort aufzurufen. Das Verfahren ist wie folgt:
<ScripTrunat = serverlanguage = vbscript>
SubSession_onstart
startpage =/myapp/starthere.asp
CurrentPage = Request.Servervariables (script_name)
IfStrCompcon (CurrentPage, Startpage, 1) dann
Antwort.Redirect (Startpage)
Endif
Ende
</Script>
Die oben genannten Programme können nur in Browsern ausgeführt werden, die Cookies unterstützen. Da Browser, die Cookies nicht unterstützen, SessionIDCookies nicht zurückgeben können, erstellt der Server eine neue Sitzung, wenn ein Benutzer eine Webseite anfordert. Auf diese Weise wird für jeden anfordernden Server das Skript von Session_onstart verarbeitet und der Benutzer auf die Startseite umgeleitet.
2. Das Session_onend -Ereignis erfolgt, wenn die Sitzung aufgegeben oder zeitlich festgelegt ist.
In Bezug auf die Angelegenheiten, auf die bei der Verwendung von Sitzungsobjekten beachtet werden müssen, finden Sie im vorherigen Artikel.
Die Sitzung kann auf die folgenden drei Arten gestartet werden:
1. Ein neuer Benutzer fordert den Zugriff auf eine URL an, die die .asp -Datei in einer Anwendung identifiziert, und die global.asa -Datei der Anwendung enthält den Session_onstart -Prozess.
2. Der Benutzer speichert einen Wert im Sitzungsobjekt.
3. Der Benutzer hat die .asp -Datei einer Anwendung angefordert, und die globale. ASA -Datei der Anwendung verwendet das <FORGANGEL -Tag, um eine Instanz eines Objekts mit einem Sitzungsbereich zu erstellen.
Wenn der Benutzer innerhalb der angegebenen Zeit keine Seiten in der Anwendung anfordert oder aktualisiert, endet die Sitzung automatisch. Der Standardwert für diesen Zeitraum beträgt 20 Minuten. Die Standardeinstellungen für Zeitlimitlimit für eine Anwendung können geändert werden, indem die Sitzungs -Timeout -Eigenschaft in der Eigenschaftsseite der Anwendungsoptionen im Internet Service Manager festgelegt wird. Dieser Wert sollte entsprechend den Anforderungen Ihrer Webanwendung und dem Speicherplatz des Servers festgelegt werden. Wenn Sie beispielsweise nur wenige Minuten auf jeder Seite auf jeder Seite stöbern möchten, sollten Sie den Standard -Timeout -Wert für Ihre Sitzung verkürzen. Ein übermäßig langer Timeout -Wert bewirkt zu viele offene Sitzungen und erschöpfen die Speicherressourcen Ihres Servers. Wenn Sie für eine bestimmte Sitzung einen Zeitlimitwert festlegen möchten, der kleiner als der Standard -Zeitlimitwert ist, können Sie die Timeout -Eigenschaft des Sitzungsobjekts festlegen. Das folgende Skript legt beispielsweise den Zeitüberschreitungswert auf 5 Minuten fest.
<%Sitzung.Timeout = 5%>
Natürlich können Sie auch einen Zeitüberschreitungswert festlegen als die Standardeinstellung. Die Session.TimeOut -Eigenschaft bestimmt den Zeitüberschreitungswert. Sie können eine Sitzung auch explizit mit der Abschlussmethode des Sitzungsobjekts beenden. Geben Sie beispielsweise in der Tabelle eine Schaltfläche zum Beenden an und setzen Sie den Aktionsparameter der Schaltfläche auf die URL der .asp -Datei mit den folgenden Befehlen ein.
<%Session.abandon%>
Aktien: Wie ASP wiederholte Einreichungen von Formularen verhindert Benutzer begegnen häufig auf unerwartete Situationen, wenn sie Formulare einreichen, z. B. mehrmals das Auffrischen der Seite, das Drücken der Hintertaste usw. Wenn keine Kontrollmaßnahmen ergriffen werden, verursacht dies das Problem der wiederholten Einreichung des Formulars. Die in diesem Artikel eingeführte Präventionsmethode besteht hauptsächlich aus vier Subroutinen. In relativ einfachen Anwendungen müssen Sie diese Codes nur in die enthaltene Datei einfügen und direkt verweisen. für diese