Session StaticObjects-Sammlung
Die StaticObjects-Sammlung enthält alle Objekte, die mit dem <OBJECT>-Tag im Session-Objektbereich erstellt wurden. Diese Sammlung kann verwendet werden, um den Wert einer bestimmten Eigenschaft eines Objekts zu bestimmen oder um die Sammlung zu durchlaufen und alle Eigenschaften für alle Objekte abzurufen.
Grammatik
Session.StaticObjects(Key)
-Parameter
Schlüssel
Das abzurufende Attribut.
Hinweis: Verwenden Sie eine Schleifenkontrollstruktur, um Schlüsselwörter in der StaticObjects-Sammlung zu durchlaufen. Siehe das Beispiel unten.
<%
Dim objprop
Für jedes Objektprop in Session.StaticObjects
Response.write(objproperty & " : " & Session.StaticObjects(objprop) & "<BR>")
Weiter
%>
Sammlung von Sitzungsinhalten
Die Session.contents-Sammlung umfasst alle für diese Sitzung erstellten Elemente ohne Verwendung des <OBJECT>-Tags. Diese Sammlung kann verwendet werden, um den Wert eines bestimmten Sitzungselements zu bestimmen oder um die Sammlung zu durchlaufen und eine Liste aller Elemente in der Sitzung abzurufen.
Grammatik
Session.Contents(Key)
-Parameter
Schlüssel
Der Name der abzurufenden Eigenschaft.
Hinweis Sie können eine Schleifenkontrollstruktur verwenden, um Schlüsselwörter in der Contents-Auflistung zu durchlaufen. Das folgende Beispiel demonstriert diesen Prozess.
<%
Dim-Sessitem
Für jede Sitzung in Session.Contents
Response.write(sessitem & " : " & Session.Contents(sessitem) & "<BR>")
Nächste
%>
Codepage
Die Eigenschaft CodePage bestimmt die Codepage, die zum Anzeigen dynamischer Inhalte verwendet wird.
Grammatik
Session.CodePage(=Codepage)
-Parameter
Codepage
Dies ist eine vorzeichenlose Ganzzahl, die die gültige Codepage des Systems darstellt, auf dem die ASP-Skript-Engine ausgeführt wird.
Die Anmerkungscodepage ist ein Zeichensatz, der Zahlen, Satzzeichen und andere Buchstaben enthalten kann. Für verschiedene Sprachen und Regionen können unterschiedliche Codepages verwendet werden. Beispielsweise wird die ANSI-Codepage 1252 für US-Englisch und die meisten europäischen OEM-Sprachen für japanisches Kanji verwendet.
Eine Codepage ist eine Zeichentabelle, die Zeichen in Einzelbyte- oder Mehrbytewerte umwandelt. Viele Codepages teilen sich die Zeichen zwischen 0x00 und 0x7F im ASCII-Zeichensatz.
Aufgeben
Die Abandon-Methode löscht alle im Session-Objekt gespeicherten Objekte und gibt die Quelle dieser Objekte frei. Wenn Sie die Abandon-Methode nicht explizit aufrufen, löscht der Server diese Objekte, sobald die Sitzung abläuft.
Grammatik
Session.Abandon-
Anmerkung
Wenn die Abandon-Methode aufgerufen wird, wird das aktuelle Sitzungsobjekt der Reihe nach gelöscht, das Objekt wird jedoch erst dann tatsächlich gelöscht, wenn alle Skriptbefehle auf der aktuellen Seite verarbeitet wurden. Dies bedeutet, dass beim Aufruf von Abandon auf im Session-Objekt gespeicherte Variablen auf der aktuellen Seite zugegriffen werden kann, auf nachfolgenden Webseiten jedoch nicht.
Im folgenden Skript gibt die dritte Zeile beispielsweise den Mary-Wert aus. Dies liegt daran, dass das Sitzungsobjekt nicht gelöscht wird, bevor der Server die Verarbeitung des Skripts abgeschlossen hat.
<%
Sitzung.Abbruch
Session("MyName") = "Mary"
Response.Write(Session("MyName"))
%>
Wenn Sie auf nachfolgenden Webseiten auf die Variable MyName zugreifen, werden Sie feststellen, dass sie leer ist. Dies liegt daran, dass MyName zusammen mit dem vorherigen Session-Objekt gelöscht wurde, als die Seite mit dem vorherigen Beispiel verarbeitet wurde.
Wenn die Sitzung abgebrochen wird und nachfolgende Webseiten geöffnet werden, erstellt der Server ein neues Sitzungsobjekt. Sie können Variablen und Objekte im neuen Session-Objekt speichern.
Beispiel Das folgende Beispiel gibt den Sitzungsstatus frei, wenn der Server die Verarbeitung der aktuellen Seite abgeschlossen hat.
<% Session.Abandon %>
LCID
Das LCID-Attribut bestimmt die Standortkennung, die zum Anzeigen dynamischer Inhalte verwendet wird.
Grammatik
Session.LCID(=LCID)
-Parameter
LCID
Effektive Standortidentifizierung.
Kommentar
LCID spezifiziert eine Site-ID, eine internationale Standardabkürzung, die eine von einem bestimmten System definierte Site eindeutig identifiziert.
Sitzungs-ID
Die SessionID-Eigenschaft gibt die Sitzungs-ID des Benutzers zurück. Beim Erstellen einer Sitzung generiert der Server für jede Sitzung eine separate ID. Die Sitzungs-ID wird als langer Datentyp zurückgegeben.
Grammatik
Session.SessionID
Hinweis: Verwenden Sie die SessionID-Eigenschaft nicht zum Erstellen von Primärschlüsseln für Datenbankanwendungen. Dies liegt daran, dass bei einem Neustart des Webservers einige der SessionID-Werte möglicherweise dieselben sind wie vor dem Beenden des Servers. Sie können stattdessen einen automatisch inkrementierenden Spaltendatentyp verwenden, z. B. IDENTITY in Microsoft® SQL Server oder COUNTER in Microsoft® Access.
Session_OnStart
Das Session_OnStart-Ereignis tritt auf, wenn der Server eine neue Sitzung erstellt. Der Server verarbeitet das Skript, bevor er die angeforderte Seite ausführt. Das Session_OnStart-Ereignis ist der beste Zeitpunkt zum Festlegen von Sitzungsvariablen, da diese vor dem Zugriff auf eine Seite festgelegt werden. Alle integrierten Objekte (Application, ObjectContext, Request, Response, Server und Session) können im Session_OnStart-Ereignisskript verwendet und referenziert werden.
Grammatik
<SCRIPT LANGUAGE=ScriptLanguage RUNAT=Server> Sub Session_OnStart .End Sub 'von aspxuexi.com
</SCRIPT>
Parameter
Skriptsprache
Gibt die Skriptsprache an, die zum Skripten des Ereignisses verwendet wird. Kann jede Sprache sein, die Skripting unterstützt, z. B. VBScript oder JScript. Wenn Sie mehrere Ereignisse haben, die dieselbe Skriptsprache verwenden, können Sie sie unter einer Reihe von <SCRIPT>-Tags organisieren.
Beispiel Obwohl das Session-Objekt bestehen bleibt, wenn das Session_OnStart-Ereignis einen Redirect- oder End-Methodenaufruf enthält, stoppt der Server die Verarbeitung der Datei Global.asa und löst das Skript in der Datei aus, die das Session_OnStart-Ereignis ausgelöst hat.
Um beispielsweise sicherzustellen, dass der Benutzer beim Öffnen einer bestimmten Webseite immer eine Sitzung startet, können Sie die Redirect-Methode im Session_OnStart-Ereignis aufrufen. Wenn der Benutzer die Anwendung betritt, erstellt der Server eine Sitzung für den Benutzer und verarbeitet das Ereignisskript Session_OnStart. Sie können in dieses Ereignis ein Skript einschließen, um zu überprüfen, ob es sich bei der vom Benutzer geöffneten Seite um eine Startseite handelt. Wenn nicht, weisen Sie den Benutzer an, die Response.Redirect-Methode aufzurufen, um die Seite zu starten. Die Demonstration wird im folgenden Beispiel gezeigt.
<SCRIPT RUNAT=Server Language=VBScript>
SubSession_OnStart
' Stellen Sie sicher, dass neue Benutzer richtig beginnen
' Seite der ASP-Anwendung 'von aspxuexi.com
' Ersetzen Sie den unten für startPage angegebenen Wert
' mit dem virtuellen Pfad zu Ihrer Anwendung
' Startseite.
startPage = "/MyApp/StartHere.asp"
currentPage = Request.ServerVariables("SCRIPT_NAME")
' Führen Sie einen Vergleich ohne Berücksichtigung der Groß- und Kleinschreibung durch und prüfen Sie, ob dies der Fall ist
' nicht übereinstimmen, leiten Sie den Benutzer zur Startseite weiter.
if strcomp(currentPage,startPage,1) then Response.Redirect(startPage) end ifEnd Sub</SCRIPT>
Das obige Beispiel funktioniert nur in Browsern, die Cookies unterstützen. Da Browser, die keine Cookies unterstützen, das SessionID-Cookie nicht zurückgeben können, erstellt der Server jedes Mal eine neue Sitzung, wenn der Benutzer eine Webseite anfordert. Auf diese Weise verarbeitet der Server bei jeder Anfrage das Session_OnStart-Skript und leitet den Benutzer zur Startseite weiter. Wenn Sie das folgende Skript verwenden, wird empfohlen, auf der Startseite einen Hinweis zu platzieren, der den Benutzern mitteilt, dass für die Website ein Browser mit aktivierten Cookies erforderlich ist.
Hinweis: Bitte beachten Sie, dass kein Session_OnStart-Ereignisskript nach der Redirect-Methode ausgeführt wird. Daher sollte die Redirect-Methode am Ende Ihres Ereignisskripts aufgerufen werden. Die Demonstration wird im folgenden Beispiel gezeigt.
<SCRIPT LANGUAGE=VBScript RUNAT=Server>
SubSession_OnStart
„Sitzungsinitialisierungsskript
“ von aspxuexi.com
Response.Redirect „http://server/app/StartHere.asp“
Sub beenden
</SCRIPT>
Im obigen Beispiel verbirgt die Redirect-Methode den gesamten Text, der dem Client während der Ausführung des Sitzungsinitialisierungsskripts angezeigt wird.
Session_OnEnd
Das Session_OnEnd-Ereignis tritt auf, wenn eine Sitzung abgebrochen wird oder eine Zeitüberschreitung auftritt. Unter den integrierten Serverobjekten sind nur Anwendungs-, Server- und Sitzungsobjekte verfügbar.
Grammatik
>
Sub
Session_OnEnd
Skriptsprache
Gibt die Skriptsprache an, die zum Skripten des Ereignisses verwendet wird. Kann jede Sprache sein, die Skripting unterstützt, z. B. VBScript oder JScript. Wenn Sie mehrere Ereignisse haben, die dieselbe Skriptsprache verwenden, können Sie sie unter einer Reihe von <SCRIPT>-Tags organisieren.
Hinweis: Die MapPath-Methode kann nicht in einem Session_OnEnd-Skript aufgerufen werden.
Time-out
Die Timeout-Eigenschaft gibt den Timeout-Zeitraum in Minuten für das Sitzungsobjekt der Anwendung an. Wenn der Benutzer die Seite innerhalb dieses Zeitlimits nicht aktualisiert oder anfordert, wird die Sitzung beendet.
Grammatik
Session.Timeout[=nMinutes]
-Parameter
nMinuten
Gibt die Anzahl der Minuten an, nach denen die Sitzung im Leerlauf ist, damit der Server die Sitzung automatisch beendet. Der Standardwert beträgt 15 Minuten.