Anwendungsobjekt
Das Anwendungsobjekt ist ein Objekt auf Anwendungsebene, das dazu dient, Informationen zwischen allen Benutzern auszutauschen und Daten bei der Ausführung der Webanwendung beizubehalten.
Anwendungseigenschaften:
So geht's:
Das Anwendungsobjekt verfügt über keine integrierten Eigenschaften, wir können jedoch eigene Eigenschaften erstellen.
<% Application("property name")=value%>
Tatsächlich werden die meisten Anwendungsvariablen in der Contents-Sammlung gespeichert. Wenn Sie eine neue Anwendungsvariable erstellen, fügen Sie tatsächlich ein Element zur Contents-Sammlung hinzu. Die folgenden zwei Skripte sind gleichwertig:
<% Application("greeting")="hello!" %> oder <% Application.contents("greeting")="hello!" viele Methoden mehrmals, z. B. eine For Each-Schleife.
<%
Für jedes Element IN Application.Contents
Response.write("<br>"&item&Application.Contents(item))
nächste
%>
Bewerbungsmethode:
Die Anwendung verfügt nur über zwei Methoden: eine ist Sperren und die andere ist Entsperren. Die Lock-Methode wird verwendet, um sicherzustellen, dass nur ein Benutzer gleichzeitig die Anwendung bedienen kann. Mit Unlock werden die Einschränkungen der Lock-Methode aufgehoben. wie:
<%
Anwendungssperre
Application("visitor_num")=Application("visitor_num")+1
Anwendung.Entsperren
%>
Bewerbungsveranstaltungen:
1.Application_OnStart()
Wird ausgelöst, wenn die Ereignisanwendung startet.
2. Application_OnEnd()
Dieses Ereignis wird ausgelöst, wenn die Anwendung beendet wird.
Diese beiden Ereignisprozesse müssen in der Datei Global.asp definiert werden. Im Allgemeinen wird die Funktion zum Verbinden von Daten in diesen beiden Ereignissen definiert und dann in Global.asp platziert. Zum Beispiel:
Sub Application_OnStart
Application("tt18_ConnectionString") = "driver={SQL
Server};server=jeff;uid=sa;pwd=;database=test"
Sub beenden
Ein Array kann als Anwendungsobjekt definiert werden, dieses Array kann jedoch nur als Objekt gespeichert werden und sein Wert kann nicht mit Application(0) abgerufen werden. Sie können ein temporäres Array definieren, um diese Funktion zu erreichen. wie:
<%
dimArray()
Array=Anwendung("array")
für i = 0 bis ubound(array)
Response.write Array(i)
als nächstes i
%>
Um das Anwendungsobjekt zu ändern, können Sie auch ein temporäres Array definieren, das Anwendungsobjekt dem Array zuweisen, dann die Elemente des Arrays ändern und schließlich das Array wieder dem Anwendungsobjekt zuweisen. wie:
<%
dimArray()
Array=Anwendung("array")
Array(0)="jeff"
Array(1)="zhu"
Anwendungssperre
Anwendung("array")=Array
Anwendung.entsperren
%>
ObjectContext-Objekt
Dieses Objekt dient zur Steuerung der Transaktionsverarbeitung von Active Server Pages. Die Transaktionsverarbeitung wird vom Microsoft Transaction Server (MTS) verwaltet.
Das Ereignis
ObjectContext.OnTransactionAbort
wird durch das Ereignis „Abgebrochene Transaktion“ ausgelöst und tritt ein, nachdem das Skript die Verarbeitung abgeschlossen hat.
ObjectContext.OnTransactionCommit
wird durch ein erfolgreiches Transaktionsereignis ausgelöst und tritt ein, nachdem das Skript die Verarbeitung abgeschlossen hat.
Die Methode
ObjectContext.SetAbort
bricht eine Transaktion explizit ab.
ObjectContext.SetComplete
überschreibt alle vorherigen Aufrufe der ObjectContext.SetAbort-Methode.
Objekt anfordern
Das Request-Objekt wird verwendet, um alle Informationen in allen Anfragen zu akzeptieren, die vom Browser an Ihren Server gesendet werden.
Collection
Request.ClientCertificate(key[SubField])
Eine Sammlung von Informationen zu allen Client-Zertifikaten. Für Key verfügt die Sammlung über die folgenden Schlüsselwörter:
Subject
Der Betreff des Zertifikats. Enthält alle Informationen zu Zertifikatsbelegen. Kann mit allen Subdomain-Suffixen verwendet werden.
Emittent
Der Aussteller des Zertifikats. Enthält alle Informationen zur Zertifikatsüberprüfung. Kann mit allen Subdomain-Suffixen außer CN verwendet werden.
VadidVon
Das Datum, an dem das Zertifikat ausgestellt wurde. Verwenden Sie das VBScript-Format.
Gültigbis
Das Zertifikat ist nicht mehr gültig.
Seriennummer
Enthält die Seriennummer des Zertifikats.
Zertifikat
Ein binärer Stream, der den gesamten Zertifikatsinhalt im ASN.1-Format enthält.
Für SubField-, Subject- und Issuer-Schlüsselwörter kann das folgende Subdomain-Suffix verwendet werden: (zum Beispiel: SubjectOU oder IssuerL)
C
Ursprungsland.
O
Firmen- oder Organisationsname.
OU
Organisationseinheit.
DE
Der reguläre Name des Benutzers.
L
Teilweise.
S
Staat (oder Provinz).
T
Der Titel der Person oder des Unternehmens.
GN
Vorname.
ICH
anfänglich.
Wenn die Datei cervbs.inc (von VBScript verwendet) oder cerjavas.inc (von Jscript verwendet) mithilfe der #INCLUDE-Direktive in Ihre Active Server Page eingebunden wird, können die folgenden zwei Flags verwendet werden:
ceCertPresent
Gibt an, ob das Client-Zertifikat vorhanden ist. Der Wert ist TRUE oder FALSE.
ceUnrecongnizedIssure
Gibt an, ob der Aussteller des letzten Zertifikats in der Liste unbekannt ist. Der Wert ist TRUE oder FALSE.
Request.Cookies(Cookie[(key).Attribute])
Sammlung von Cookies. Erlauben Sie den Erhalt von Browser-Cookies. Cookie gibt an, welches Cookie zurückgegeben werden soll. Der Schlüssel wird verwendet, um den Cookie-Wert mit einem bestimmten Schlüsselwort aus dem Cookie-Wörterbuch zurückzugeben. Als Attribut können Sie das Attribut HasKeys verwenden, um zu bestimmen, ob ein Cookie Unterschlüssel hat. Der Wert von HasKeys ist TRUE oder FALSE.
Request.Form(Parameter)[(Index).Count]
füllt die Sammlung aller Daten im HTML-Formular aus. Parameter ist der Name eines Elements in einem HTML-Formular. Der Index wird verwendet, wenn ein Parameter mehr als einen Wert hat (z. B. bei Verwendung des MULTIPLE-Attributs in <SELECT>). Wenn ein Parameter mehrere Werte hat, gibt Count die Anzahl der mehreren Werte an.
Request.QueryString(Varible)[(Index).Count]
Die Sammlung aller Werte der Abfragezeichenfolge. Variable ist der Name einer Variablen in der Abfragezeichenfolge. Der Index wird verwendet, wenn eine Variable mehr als einen Wert hat. Wenn ein Parameter mehrere Werte hat, gibt Count die Anzahl der Werte an.
Request.ServerVaribles (Serverumgebungsvariable)
Eine Sammlung von Umgebungsvariablen. Ermöglicht das Lesen von HTTP-Headern. Sie können alle Header-Informationen lesen, indem Sie das HTTP_-Präfix verwenden. Beispielsweise akzeptiert HTTP_USER_AGENT den Client-Agent-HTTP-Header (Browsertyp). Andernfalls können Sie mithilfe der in der folgenden Tabelle aufgeführten Variablen beliebige Umgebungsinformationen abrufen.
ALL_HTTP
Allen vom Client gesendeten HTTP-Headern und ihren Ergebnissen wird HTTP_ vorangestellt.
ALL_RAW
Alle vom Client gesendeten HTTP-Header haben das gleiche Ergebnis wie beim Senden durch den Client, ohne das Präfix
HTTP_APPL_MD_PATH
Der Metabasispfad der Anwendung.
APPL_PHYSICAL_PATH
Der physische Pfad, der dem Anwendungsmetabasispfad entspricht.
AUTH_PASSWORD
Das vom Kunden im Passwort-Dialogfeld eingegebene Passwort bei Verwendung des Basisauthentifizierungsmodus.
AUTH_TYPE
Dies ist die Authentifizierungsmethode, die der Server verwendet, um Benutzer zu überprüfen, wenn sie auf geschützte Skripts zugreifen.
AUTH_USER
Benutzername zur Verifizierung.
CERT_COOKIE
Eindeutige Client-Zertifikat-ID-Nummer.
CERT_FLAG
Client-Zertifikat-Flag. Wenn ein Client-Zertifikat vorhanden ist, ist Bit0 0. Wenn die Überprüfung des Client-Zertifikats ungültig ist, wird Bit1 auf 1 gesetzt.
CERT_ISSUER
Das Ausstellerfeld im Zertifikat des Benutzers.
CERT_KEYSIZE
Die Anzahl der Bits des Secure Socket Layer-Verbindungsschlüsselworts, z. B. 128.
CERT_SECRETKEYSIZE
Die Anzahl der Ziffern im privaten Schlüssel, die der Server überprüft. Wie 1024.
CERT_SERIALNUMBER
Das Seriennummernfeld des Client-Zertifikats.
CERT_SERVER_ISSUER
Das Ausstellerfeld des Serverzertifikats
CERT_SERVER_SUBJECT
Das Betrefffeld des Serverzertifikats.
CERT_SUBJECT
Das Betrefffeld des Clientzertifikats.
CONTENT_LENGTH
Die Länge des vom Client gesendeten Inhalts.
CONTENT_TYPE
Der vom Kunden gesendete Formularinhalt oder der Datentyp von HTTP PUT.
GATEWAY_INTERFACE
Die vom Server verwendete Gateway-Schnittstelle.
HTTPS
Gibt ON zurück, wenn die Anfrage über einen sicheren Kanal (SSL) erfolgte. Wenn die Anfrage von einem nicht sicheren Kanal kommt, geben Sie OFF zurück.
HTTPS_KEYSIZE
Die Anzahl der Bits des Secure Socket Layer-Verbindungsschlüsselworts, z. B. 128.
HTTPS_SECRETKEYSIZE
Die Anzahl der Ziffern im privaten Schlüssel, die der Server überprüft. Wie 1024.
HTTPS_SERVER_ISSUER
Das Ausstellerfeld des Serverzertifikats.
HTTPS_SERVER_SUBJECT
Das Betrefffeld des Serverzertifikats.
INSTANCE_ID
Die ID-Nummer der IIS-Instanz.
INSTANCE_META_PATH
Der Metabasispfad der IIS-Instanz, die auf die Anfrage geantwortet hat.
LOCAL_ADDR
Gibt die Adresse des Servers zurück, der die Anfrage angenommen hat.
LOGON_USER
Der Benutzer meldet sich bei Windows NT mit dem Konto
PATH_INFO
an
Vom Client bereitgestellte Pfadinformationen.
PATH_TRANSLATED
Der Pfad, der durch die Zuordnung von virtuell zu physisch erhalten wird.
QUERY_STRING
Inhalt der Abfragezeichenfolge.
REMOTE_ADDR
Die IP-Adresse des Remote-Hosts, der die Anfrage stellt.
REMOTE_HOST
Der Name des Remote-Hosts, von dem die Anfrage gestellt wurde.
REQUEST_METHOD
Methode zum Stellen einer Anfrage. Wie GET, HEAD, POST usw.
SCRIPT_NAME
Der Name des ausgeführten Skripts.
SERVER_NAME
Der Hostname, die DNS-Adresse oder die IP-Adresse des Servers.
SERVER_PORT
Die Server-Portnummer, die Anfragen akzeptiert.
SERVER_PORT_SECURE
Wenn der Server-Port, der die Anfrage akzeptiert, ein sicherer Port ist, ist er 1, andernfalls ist er 0.
SERVER_PROTOCOL
Der Name und die Version des vom Server verwendeten Protokolls.
SERVER_SOFTWARE
Der Name und die Version der Serversoftware, die Anfragen beantwortet und das Gateway ausführt.
URL
Geben Sie den grundlegenden Teil der URL an.
Die Methode
Request.BinaryRead(Count)
empfängt den unverarbeiteten Inhalt eines HTML-Formulars. Wenn diese Methode aufgerufen wird, gibt Count an, wie viele Bytes empfangen werden sollen. Nach dem Aufruf dieser Methode gibt Count an, wie viele Bytes tatsächlich empfangen wurden.
Property
Request.TotalBytesDie
Länge des Abfragetexts in Bytes
Antwortobjekt
Das Antwortobjekt wird zum Senden von Daten an den Client-Browser verwendet. Benutzer können dieses Objekt verwenden, um Serverdaten im HTML-Format zu senden. Dies ist auch ein Objektpaar zum Empfangen und Senden von Daten Grundlage für die Erzielung von Dynamik. Die häufig verwendeten Eigenschaften und Methoden werden im Folgenden vorgestellt.
1. Pufferattribut Mit diesem Attribut wird angegeben, ob bei der Ausgabe der Seite ein Puffer verwendet werden soll. Der Standardwert ist False. Wenn es „True“ ist, werden die Ergebnisse erst dann an den Browser ausgegeben, wenn die gesamte Active Server Page ausgeführt wurde. wie:
<%Response.Buffer=True%>
<html>
<Kopf>
<title>Pufferbeispiel</title>
</head>
<Körper>
<%
für i=1 bis 500
Response.write(i & "<br>")
nächste
%>
</body>
</html>
Wenn diese Seite ausgeführt wird, werden alle Inhalte der gesamten Homepage gleichzeitig im Browser angezeigt und die Homepage wird im Cache gespeichert, bis die Skriptausführung abgeschlossen ist.
2. Expires-Attribut Dieses Attribut wird verwendet, um die Zeitspanne (in Minuten) festzulegen, die der Browser die Seite zwischenspeichert und auf der Serverseite aktualisiert werden muss. Mit folgenden Einstellungen:
<%Response.Expires=0%>
Durch das Hinzufügen dieser Codezeile zur ASP-Datei muss bei jeder Anforderung die Seite aktualisiert werden, da die Seite abläuft, sobald die Antwort empfangen wird.
3. Schreibmethode Diese Methode sendet Daten an den Client-Browser, wie zum Beispiel:
<%Response.write "Hallo Welt!"%>
4. Umleitungsmethode Mit dieser Methode kann der Browser zu einer anderen URL wechseln. Wenn der Client eine Webanforderung stellt, wurde der Browsertyp des Clients ermittelt und der Client wird auf die entsprechende Seite verschoben. wie:
<html>
<Kopf>
<title>Redirect-Beispiel</title>
</head>
<Körper>
<form aciton="formjump.asp" method="post">
<select name="wheretogo">
<option selected value="fun">Spaß</option>
<option value="news">Neuigkeiten</option>
<option value="sample">Beispiel</option>
</select>
<input type=submit name="jump" value="Jump">
</form>
</body>
</html>
Das Obige ist das übermittelte Formular und das Folgende ist die Datei formjump.asp, die das Formular verarbeitet:
<%response.buff=true%>
<html>
<Kopf>
<title>Redirect-Beispiel</title>
</head>
<Körper>
<%
thisurl=" http://www.tinyu.com/ ";
where=Request.form("wheretogo")
Wählen Sie Fall wo aus
Fall „Spaß“
Response.redirect thisurl & „/fun/default.asp“
Fall „Neuigkeiten“
Response.redirect thisurl & „/news/default.asp“
Fall „Probe“
Response.redirect thisurl & „/sample/default.asp“
Endauswahl
%>
</body>
<html>
Wenn der Benutzer in diesem Beispiel eine Auswahl trifft, klickt er auf die Schaltfläche „Springen“, um das Formular abzusenden. Nach Erhalt der Anwendung ruft der Server formjump.asp auf, um die entsprechende URL zu ermitteln und zu finden. Beachten Sie jedoch, dass der HTTP-Header vor dem Schreiben des Seiteninhalts in den Browser geschrieben wurde. Wenn dieses Problem auftritt, können Sie Folgendes tun:
Schreiben Sie am Anfang der Datei nach <@ Language=..>:
Response.Buffer=True
Entscheiden Sie am Ende:
Response.Flush
Flush ist hier eine Antwortmethode, die nur verwendet werden kann, wenn die Buffer-Eigenschaft auf True gesetzt ist, andernfalls wird ein Ausführungsmodusfehler generiert. Eine andere Clear-Methode wird auch zum Löschen zwischengespeicherter Seiten verwendet. Sie kann auch verwendet werden, wenn die Buffer-Eigenschaft auf True gesetzt ist.
5. End-Methode Diese Methode wird verwendet, um Active Server anzuweisen, die Verarbeitung von ASP-Dateien zu stoppen, wenn diese Methode auftritt. Wenn die Buffer-Eigenschaft des Response-Objekts auf True gesetzt ist, sendet die End-Methode den Inhalt des Caches an den Client und löscht den Puffer. Um die gesamte Ausgabe an Clients abzubrechen, können Sie daher zunächst den Puffer löschen und dann die End-Methode verwenden. wie:
<%
Response.buffer=true
Bei einem Fehler weitermachen
Fehler klar
wenn Err.number<>0 dann
Antwort.Klar
Antwort.Ende
Ende wenn
%>
Serverobjekt:
Das Serverobjekt bietet Zugriff auf Methoden und Eigenschaften auf dem Server. Die meisten dieser Methoden und Eigenschaften dienen als Hilfsfunktionen.
Syntax
Server.property|method
Eigenschaft
ScriptTimeout:
Die Eigenschaft „ScriptTimeout“ gibt an, wie lange ein Skript maximal ausgeführt werden kann, bevor es beendet wird. Beim Arbeiten mit Serverkomponenten entfällt das Timeout-Limit.
Syntax Server.ScriptTimeout = NumSeconds
Parameter NumSeconds
Gibt die maximale Anzahl von Sekunden an, die ein Skript ausführen kann, bevor es vom Server beendet wird. Der Standardwert beträgt 90 Sekunden.
Hinweis Sie können einen ScriptTimeout-Standardwert für einen Webdienst oder Webserver festlegen, indem Sie die AspScriptTimeout-Eigenschaft in der Metabasis verwenden. Die ScriptTimeout-Eigenschaft kann nicht kleiner als der in der Metabasis angegebene Wert festgelegt werden. Wenn NumSeconds beispielsweise auf 10 eingestellt ist und die Metabasiseinstellung den Standardwert von 90 Sekunden enthält, läuft das Skript nach 90 Sekunden ab. Wenn NumSeconds jedoch auf 100 gesetzt ist, läuft das Skript nach 100 Sekunden ab.
Weitere Informationen zur Verwendung der Metabasis finden Sie unter Informationen zur Metabasis.
Beispiel Im folgenden Beispiel tritt eine Zeitüberschreitung auf, wenn der Server mehr als 100 Sekunden für die Verarbeitung des Skripts benötigt.
<% Server.ScriptTimeout = 100 %>
Das folgende Beispiel ruft den aktuellen Wert der ScriptTimeout-Eigenschaft ab und speichert ihn in der Variablen TimeOut.
<% TimeOut = Server.ScriptTimeout %>
Methode
CreateObject
Die CreateObject-Methode erstellt eine Instanz der Serverkomponente. Wenn die Komponente die Methoden OnStartPage und OnEndPage ausführt, wird zu diesem Zeitpunkt die Methode OnStartPage aufgerufen. Weitere Informationen zu Serverkomponenten finden Sie unter Installierbare ASP-Komponenten.
Syntax Server.CreateObject( progID )
Der Parameter progID gibt den Typ des zu erstellenden Objekts an. Das Format der ProgID ist [Anbieter.] Komponente[.Version].
Hinweis Standardmäßig haben Objekte, die mit der Server.CreateObject-Methode erstellt wurden, einen Seitenbereich. Dies bedeutet, dass der Server diese Objekte automatisch zerstört, nachdem die aktuelle ASP-Seite verarbeitet wurde. Um ein sitzungs- oder anwendungsbezogenes Objekt zu erstellen, können Sie das Tag <OBJECT> verwenden und das SCOPE-Attribut von SESSION oder APPLICATION festlegen oder das Objekt in Sitzungs- und Anwendungsvariablen speichern.
Wenn beispielsweise im unten gezeigten Skript das Session-Objekt zerstört wird, d. h. wenn die Konversation abläuft oder die Abandon-Methode aufgerufen wird, werden auch die in den Sitzungsvariablen gespeicherten Objekte zerstört.
<% Set Session("ad") = Server.CreateObject("MSWC.AdRotator")%>
Sie können ein Objekt zerstören, indem Sie die Variable auf Nothing oder einen neuen Wert setzen, wie unten gezeigt. Das erste Beispiel gibt das Anzeigenobjekt frei und das zweite Beispiel ersetzt die Anzeige durch eine Zeichenfolge.
<% Sitzung ("Anzeige") = Nichts %>
<% Session ("ad") = " Other Valum " %>
Eine Objektinstanz mit demselben Namen wie ein integriertes Objekt kann nicht erstellt werden. Das folgende Skript gibt beispielsweise einen Fehler zurück.
<% Set Response = Server.CreateObject("Response") %>
Beispiel <% Set MyAd = Server.CreateObject("MSWC.AdRotator") %>
Das obige Beispiel erstellt eine MSWC.AdRotator-Serverkomponente mit dem Namen MyAd. Die MSWC.AdRotator-Komponente kann zum automatischen Rotieren von Anzeigen auf Webseiten verwendet werden.
Weitere Informationen zu Serverkomponenten finden Sie unter Erstellen von Komponenten für ASP.
Die HTMLEncode-Methode wendet HTML-Codierung auf die angegebene Zeichenfolge an.
Syntax Server.HTMLEncode(string)
Der Parameter string gibt den zu kodierenden String an.
Beispielskript <%= Server.HTMLEncode("Das Absatz-Tag: <P>") %>
Ausgabe Das Absatz-Tag: <P>
Beachten Sie, dass die obige Ausgabe vom Webbrowser als Das Absatz-Tag: <P>Wenn angezeigt wird Sie schauen sich die Quelldatei an oder öffnen eine Webseite im Textmodus und können den codierten HTML-Code sehen.
MapPath
Die MapPath-Methode ordnet den angegebenen relativen oder virtuellen Pfad dem entsprechenden physischen Verzeichnis auf dem Server zu.
Grammatik
Server.MapPath(Path)
-Parameter
Weg
Geben Sie einen relativen oder virtuellen Pfad zum zuzuordnenden physischen Verzeichnis an. Wenn Path mit einem Schrägstrich (/) oder Backslash () beginnt, behandelt die MapPath-Methode Path bei der Rückgabe des Pfads als vollständigen virtuellen Pfad. Wenn Path nicht mit einem Schrägstrich beginnt, gibt die MapPath-Methode einen Pfad relativ zu einem vorhandenen Pfad in der ASP-Datei zurück.
Kommentar
Die MapPath-Methode unterstützt keine relative Pfadsyntax (.) oder (..). Beispielsweise gibt der folgende relative Pfad ../MyDir/MyFile.txt einen Fehler zurück.
Die MapPath-Methode prüft nicht, ob der zurückgegebene Pfad korrekt ist oder auf dem Server vorhanden ist.
Da die MapPath-Methode nur Pfade zuordnet, unabhängig davon, ob das angegebene Verzeichnis vorhanden ist, können Sie zunächst mit der MapPath-Methode den Pfad der physischen Verzeichnisstruktur zuordnen und ihn dann an die Komponente übergeben, die das angegebene Verzeichnis oder die angegebene Datei auf dem Server erstellt.
Beispiel Für das folgende Beispiel befinden sich die Datei data.txt und die Datei test.asp, die das folgende Skript enthält, im Verzeichnis C:InetpubWwwrootScript. Das Verzeichnis C:InetpubWwwroot wird als Home-Verzeichnis des Servers festgelegt.
Im folgenden Beispiel wird die Servervariable PATH_INFO verwendet, um den physischen Pfad zur aktuellen Datei abzubilden. Skript
<%= server.mappath(Request.ServerVariables("PATH_INFO"))%><BR>
Ausgabe
c:inetpubwwwrootscripttest.asp<BR>
Da die Pfadparameter in den folgenden Beispielen nicht mit einem Schrägstrich beginnen, werden sie relativ dem aktuellen Verzeichnis zugeordnet, in diesem Fall C:InetpubWwwroot Skript. Skript
<%= server.mappath("data.txt")%><BR>
<%= server.mappath("script/data.txt")%><BR>
Ausgabe
c:inetpubwwwrootscriptdata.txt<BR>
c:inetpubwwwrootscriptscriptdata.txt<BR>
In den nächsten beiden Beispielen wird der Schrägstrich verwendet, um anzugeben, dass der zurückgegebene Pfad als vollständiger virtueller Pfad auf dem Server behandelt werden soll. Skript
<%= server.mappath("/script/data.txt")%><BR>
<%= server.mappath("script")%><BR>
Ausgabe
c:inetpubscriptdata.txt<BR>
c:inetpubscript<BR>
Das folgende Beispiel zeigt, wie Sie einen Schrägstrich (/) oder einen umgekehrten Schrägstrich () verwenden, um den physischen Pfad des Hostverzeichnisses zurückzugeben. Skript
<%= server.mappath("/")%><BR>
<%= server.mappath("")%><BR>
Ausgabe
c:inetpubwwwroot<BR>
c:inetpubwwwroot<BR>
URLEncode
Die URLEncode-Methode wendet URL-Codierungsregeln, einschließlich Escape-Zeichen, auf die angegebene Zeichenfolge an.
Grammatik
Server.URLEncode(string)
Parameter
String gibt die zu kodierende Zeichenfolge an.
Beispielskript <%Response.Write(Server.URLEncode(" http://www.tinyu.com ";)) %>
Ausgabe http%3A%2F%2Fwww%2Etinyu%2Ecom
Das Session-Objekt „
Session“ bezieht sich tatsächlich auf den Zeitraum von der Ankunft eines Besuchers auf einer bestimmten Homepage bis zu ihrem Verlassen. Jeder Besucher erhält eine separate Sitzung. Wenn ein Benutzer in einer Webanwendung auf die Anwendung zugreift, kann der Benutzer Variablen vom Sitzungstyp verwenden, um Daten auf allen Seiten der Webanwendung zu teilen. Wenn ein anderer Benutzer gleichzeitig auch auf die Webanwendung zugreift, verfügt er auch über eigene Variablen Sitzungsvariablen, aber Informationen können nicht über Sitzungsvariablen zwischen zwei Benutzern geteilt werden, während Änderungen des Anwendungstyps Informationen auf allen Seiten zwischen mehreren Benutzern der Site teilen können.
1. SessionID-Attribut Dieses Attribut gibt die eindeutige Kennung der aktuellen Sitzung zurück und weist jeder Sitzung eine andere Nummer zu.
Während des Entwicklungsprozesses bin ich einmal auf das Problem der Benutzerkontrolle gestoßen. Die Funktion, die damit erreicht werden soll, besteht darin, dass ein Mitglied für ein Modul einer bestimmten Website dieses Modul nicht durchsuchen kann, wenn es nach der Anmeldung dieses Modul anzeigt und sich eine andere Person mit demselben Mitgliedsnamen anmeldet. Mit anderen Worten: Nur eine Person mit einem Mitgliedsnamen kann dieses Modul gleichzeitig durchsuchen. Ich habe die Steuerung mithilfe des Mitgliedsnamens (angenommen, es handelt sich um eine eindeutige Benutzer-ID) und der Sitzungs-ID implementiert. Wenn sich ein Mitglied anmeldet, geben Sie dem Mitglied eine Sitzung zum Aufzeichnen des Anmeldestatus, z. B. Session("Status")="Logged", und schreiben Sie die Session.SessionID des Mitglieds in die Datenbank. Wenn er dieses Modul durchsuchen möchte, stellt er zunächst fest, ob er angemeldet ist. Wenn er bereits angemeldet ist, stellt er fest, ob seine Sitzungs-ID mit der in der Datenbank aufgezeichneten übereinstimmt. Wenn er anders ist, kann er nicht darauf zugreifen. Wenn sich auf diese Weise ein anderer Benutzer mit demselben Mitgliedsnamen anmeldet, wird die neue Sitzungs-ID in der Datenbank aufgezeichnet, und erstere kann die Prüfung beim Zugriff auf dieses Modul nicht bestehen. Dadurch kann nur eine Person mit einem Mitgliedsnamen gleichzeitig ein bestimmtes Modul durchsuchen. Diese Funktion wirkt sich besonders auf einige kostenpflichtige Websites aus. Sie verhindert das Problem, dass ein Mitgliedsname von mehreren Personen durchsucht wird, und schützt die Interessen des Unternehmens.
2. TimeOut-Attribut Dieses Attribut wird verwendet, um das Zeitlimit des Benutzersitzungsobjekts zu definieren. Wenn der Benutzer die Webseite nicht innerhalb der angegebenen Zeit aktualisiert, wird das Session-Objekt beendet. Der allgemeine Standardwert beträgt 20 Minuten.
3. Abandon-Methode Diese Methode ist die einzige Methode des Session-Objekts. Sie kann das Session-Objekt löschen und wird verwendet, um das Session-Objekt des Benutzers zu entfernen und die von ihm belegten Ressourcen freizugeben. Beispiel: <% Session.Abandon %>
4. Die Ereignisse „Session_OnStart“ und „Session_OnEnd“ sind mit „Application“ identisch. Das Ereignis „Session_OnStart“ wird jedes Mal ausgelöst, wenn die Routine des Objekts gestartet wird, und dann wird die Verarbeitung des Ereignisses „Session_Onstart“ ausgeführt. Das heißt, wenn der Server eine HTTP-Anfrage für die URL in der Anwendung empfängt, wird dieses Ereignis ausgelöst und ein Sitzungsobjekt eingerichtet. Ebenso muss dieses Ereignis auch in der Datei Global.asa gesetzt werden.
Wenn die Session.Abandon-Methode aufgerufen wird oder innerhalb der TimeOut-Zeit keine Aktualisierung erfolgt, löst dies das Session_OnEnd-Ereignis aus und führt dann das darin enthaltene Skript aus. Sitzungsvariablen sind bestimmten Benutzern zugeordnet. Sitzungsvariablen, die einem bestimmten Benutzer zugewiesen sind, sind völlig unabhängig von Sitzungsvariablen anderer Benutzer und haben keinen Einfluss aufeinander.
Sitzung wendet eine Spalte an:
Wie bei der Anwendung kann ein als Sitzungstyp definiertes Array nur das gesamte Array als Objekt behandeln, und Benutzer können den Wert eines Elements im Sitzungsarray nicht direkt ändern. Um ein Sitzungsarray zu erstellen, müssen Sie zunächst ein gewöhnliches Array definieren, jedem Element einen Anfangswert zuweisen und es schließlich als Sitzungsarray definieren. wie:
<%
dimarray()
array=array("李","明","男")
Sitzung("info")=Array
Response.write Session("info")(0) &"-"
Response.write Session("info")(1) &"-"
Response.write Session("info")(2) &"<br>"
%>
<hr>
<%
array(0)="Tag"
array(1)="Yu"
array(2)="Männlich"
Sitzung("info")=Array
Response.write Session("info")(0) & "-"
Response.write Session("info")(1) & "-"
Response.write Session("info")(2) & "<br>"
%>