Sitzungsobjekt
Sie können das Sitzungsobjekt verwenden, um Informationen zu speichern, die für eine bestimmte Benutzersitzung benötigt werden. Auf diese Weise gehen die im Session-Objekt gespeicherten Variablen nicht verloren, wenn der Benutzer zwischen den Webseiten der Anwendung wechselt, sondern bleiben während der gesamten Benutzersitzung bestehen.
Wenn ein Benutzer eine Webseite von einer Anwendung anfordert, erstellt der Webserver automatisch ein Sitzungsobjekt, wenn der Benutzer noch keine Sitzung hat. Wenn eine Sitzung abläuft oder abgebrochen wird, beendet der Server die Sitzung.
Eine der häufigsten Verwendungen von Session-Objekten ist das Speichern von Benutzereinstellungen. Wenn der Benutzer beispielsweise angibt, dass er keine Grafiken sehen möchte, kann diese Information im Session-Objekt gespeichert werden. Weitere Informationen zur Verwendung des Session-Objekts finden Sie unter „Verwalten von Sitzungen“ im Abschnitt „ASP-Anwendung“.
Beachten Sie, dass der Sitzungs-Status nur in Browsern erhalten bleibt, die Cookies unterstützen.
Syntax
Session.collection|property|method
Sammlung
Inhalt Enthält Elemente, die mithilfe von Skriptbefehlen zur Sitzung hinzugefügt wurden.
StaticObjects enthält Objekte, die über das
<% Session("username") = "Janine" Session("age") = 24 %>
Wenn Sie das Objekt jedoch in einem Sitzungsobjekt speichern und VBScript als Hauptskriptsprache verwenden. Es muss das Schlüsselwort Set verwendet werden. Wie im folgenden Skript gezeigt.
<% Set Session("Obj1") = Server.CreateObject("MyComponent.class1") %>
Dann können Sie die von MyComponent.class1 angezeigten Methoden und Eigenschaften auf der folgenden Webseite aufrufen. Die aufrufende Methode lautet wie folgt:
<% Session("Obj1").MyMethod %>
Es kann auch aufgerufen werden, indem eine lokale Kopie des Objekts erweitert und das folgende Skript verwendet wird:
<% Set MyLocalObj1 = Session("Obj1") MyLocalObj1.MyObjMethod %>
Eine andere Möglichkeit, ein sitzungsbezogenes Objekt zu erstellen, ist die Verwendung des < OBJECT>
Eingebaute Objekte können jedoch nicht in Sitzungsobjekten gespeichert werden. Beispielsweise gibt jede Zeile unten einen Fehler zurück.
<% Set Session("var1") = Session Set Session("var2") = Request Set Session("var3") = Response Set Session("var4") = Server Set Session("var5") = Application %>
Bevor Sie ein Objekt in einem Sitzungsobjekt speichern, müssen Sie wissen, welches Threading-Modell es verwendet. Nur die mit „Beide“ gekennzeichneten Objekte können in einem Sitzungsobjekt gespeichert werden, das die Single-Threaded-Sitzung nicht sperrt. Weitere Informationen finden Sie unter „Auswählen eines Threading-Modells“ in „Erstellen einer ASP-Komponente“.
Wenn Sie ein Array in einem Session-Objekt speichern, ändern Sie die im Array gespeicherten Elemente bitte nicht direkt. Das folgende Skript kann beispielsweise nicht ausgeführt werden.
<% Session("StoredArray")(3) = "new value" %>
Dies liegt daran, dass das Session-Objekt als Sammlung implementiert ist. Das Array-Element StoredArray(3) hat keinen neuen Wert erhalten. Dieser Wert wird in die Anwendungsobjektsammlung aufgenommen und überschreibt alle zuvor an diesem Ort gespeicherten Informationen.
Wir empfehlen dringend, dass Sie beim Speichern eines Arrays in einem Sitzungsobjekt eine Kopie des Arrays erhalten, bevor Sie die Objekte im Array abrufen oder ändern. Wenn Sie ein Array bearbeiten, sollten Sie das gesamte Array im Session-Objekt speichern, damit alle von Ihnen vorgenommenen Änderungen gespeichert werden. Das folgende Skript demonstriert dies.
---file1.asp---
<% 'Creating and initializing the array Dim MyArray() Redim MyArray(5) MyArray(0) = "hello" MyArray(1) = "some other string " 'Storing the array in the Session object Session("StoredArray") = MyArray Response.Re dir ect("file2.asp") %> ---file2.asp--- <% 'Retrieving the array from the Session Object 'and mod if ying its second element LocalArray = Session("StoredArray") LocalArray(1) = " there" ' print ing out the string "hello there" Response.Write(LocalArray(0)&LocalArray(1)) 'Re-storing the array in the Session object 'This overwrites the values in StoredArray with the new values Session("StoredArray") = LocalArray %>
Verwandte Antworten:
Nachdem Sie auf Seite A den richtigen Benutzernamen und das richtige Passwort eingegeben haben,
fügen Sie eine Anweisung hinzu: session( "isLogin")=true
Beurteilen Sie vor Seite B:
if session("isLogin")=false then response.write "未登录" response.en end if
Das ist es
Nach der Anmeldung festgelegt:
session("user")=Benutzername
Eingabe auf Seite B:
if session("user")="" then Response.write("<script>alert('请登陆!');window.history.go(-1);</scritp>") end if
[Verwandte Empfehlungen]
1. ASP-kostenloses Video-Tutorial
2 Einführung in die Sitzung in ASP
3.Lernen Sie, wie Sie das Problem des ASP-Sitzungsverlusts lösen können
4. Einführung in die Sitzung in ASP Drei Methoden von Objekten5. Detaillierte Erläuterung der Techniken zur Verwendung von Session in ASP
Das obige ist der detaillierte Inhalt vonEinfaches Beispiel für eine ASP-Sitzung. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!