Beim Programmdebuggen muss ich manchmal wissen, wie viele Sitzungsvariablen verwendet werden und wie hoch ist ihr Wert? Da das Sitzungsobjekt eine Sammlung namens Inhalt bietet, können wir das Ziel durch die für ... jede Schleife: Dim Strname, Iloop, Iloop erreichen
Für jeden Strname in Session.contents
Antwort.Write Strname & " -" & Session.Contents (Strname) & "<br>"
Im Allgemeinen kann der obige Code gut funktionieren. Wenn die Sitzungsvariable jedoch ein Objekt oder ein Array ist, sind die Ergebnisse des Drucks falsch. Auf diese Weise ändern wir den Code wie folgt: "Sehen Sie sich zunächst an, wie viele Sitzungsvariablen verwenden? Antwort.
"Sitzungsvariablen <p>" "
Dim Strname, Iloop
„Verwenden Sie für jede zum Überprüfen von Sitzungen.Contents
'Wenn die Sitzungsvariable ein Array ist?
Wenn isArray (Sitzung (Strname) dann
'Jedes Element eines kreisförmigen Druckarrays
Für Iloop = lBound (Sitzung (Strname)) bis Ubound (Sitzung (Strname)))
Antwort.Write Strname & "(" & iLoop & ") -" & _
Sitzung (Strname) (iLoop) & "<br>"
Nächste
Anders
'Drucken Sie in anderen Fällen einfach den Wert der Variablen aus
Antwort.Write Strname & " -" & Session.Contents (Strname) & "<br>"
Ende wenn
Nächste Sitzungsvariablen können manchmal nicht funktionieren, warum? Es gibt viele Möglichkeiten:
Erstens, wenn der Kunde Cookies nicht zulässt, schlägt die Sitzung fehl. Weil die Sitzung auf Cookies angewiesen ist.
Zweitens hat die Sitzung die Einstellung der Fehlerzeit. Die Standardeinstellungen betragen 20 Minuten. Sie können es so ändern wie folgt: Web Diretory-> Eigenschaften-> Virtuelle Verzeichnis-> Anwendungseinstellungen-> Konfiguration-> App-Optionen-> Session Timeout
Oder in ASP schreiben Sie einen solchen Code: Sitzung.Timeout = 60.
Drittens bezieht sich die Sitzung mit der spezifischen Webanwendung. Wenn der Benutzer von /Products/default.asp to /jobs/default.asp durchsucht, kann dies auch die Sitzung der Sitzung verursachen. Wie kann man eine Sitzungsvariable löschen, die nicht mehr benötigt wird, aber die Sitzung nicht fehlschlägt? In Asp3.0:
Session.Contents.Remove "Variabler Name"
Sie können eine Variable entfernen.
In ASP2.0:
setzen
Kann Variablen löschen.
In Asp3.0,
Sitzung.Contents.removeal
Sie können alle Sitzungsvariablen und Sitzungen löschen. Was bedeutet der < %@ enableSessionState = true %> oben auf der ASP -Seite? IIS verwendet eine Technologie namens Session Tracking, um sicherzustellen, dass jede Sitzungsvariable auf jeder Seite verfügbar ist. Wenn ein Benutzer eine bestimmte ASP -Seite besucht, erstellt IIS zunächst jede Sitzungsvariable für diese Seite, die natürlich Leistungseffekte hat. (Die Kosten für die Verwendung der Sitzungsvariablen sind immer sehr hoch!)
Wenn Sie 100 Seiten haben und nur 5 Seiten für die Sitzung verwendet werden, müssen Sie es für die Gesamtleistung nur auf diesen 5 Seiten festlegen:
< %@ EnableSessionState = true %>
Und andere Seiten sind auf:
< %@ EnableSessionState = false %>