Heim > Artikel > Backend-Entwicklung > Erfahren Sie, wie Sie das Problem des ASP-Sitzungsverlusts lösen können
Vielleicht stoßen viele ASP-Entwickler auf diese Situation: Die Sitzung geht während der Sitzung ohne Grund verloren. Mit anderen Worten: Wenn die SessionID verloren geht, gehen auch dieselben Variablen auf Sitzungsebene verloren.
Viele Sitzungen gehen aufgrund falscher Programme oder falscher virtueller Verzeichnisstrukturen verloren.
SessionID ändert sich aus folgenden Gründen.
Grund 1:
Der Browser von Netscape geht davon aus, dass „/App/user.asp“ und „/app/user.asp“ zwei verschiedene Programme sind. Es wird automatisch eine neue Sitzung (neue Sitzung) gestartet. Daher muss die Großschreibung von Buchstaben auf Ihrer Website vereinheitlicht werden.
Grund zwei:
Der andere Grund ist der Wert von Session.Timeout.
Das Timeout-Attribut wird verwendet, um das Sitzungs-Timeout in Einheiten von einer Minute festzulegen. Wenn ein Benutzer die Seite nicht innerhalb eines Timeouts aktualisiert oder anfordert, endet die Sitzung. Wenn Sie die Seite erneut anfordern, wird eine neue Sitzung gestartet.
Stellen Sie sicher, dass der Wert von Timeout in Minuten angegeben ist.
Format: Session.Timeout [= nMinuten]
Grund drei:
Wenn der Benutzer das Cookie seines Browsers deaktiviert, wird die Sitzung natürlich beendet kann es nicht behalten. Weil die Sitzungserhaltung von Cookies abhängt.
Um den Status der Sitzung beizubehalten, muss der Browser Cookies unterstützen und geöffnet sein. Natürlich können Sie auch andere Methoden verwenden
Grund 4:
Ein häufiger Fehler besteht darin, eine falsche Verzeichnisstruktur zu erstellen. Wie die folgende Verzeichnisstruktur:
root puts global.asa
virtual_root has not have global.asa
another_virtual_root has not have global.asa
Aufrufe zwei virtuelle Dateien Auf der Root-Seite wird dieselbe global.asa (die im Root) ausgeführt
Eine andere Verzeichnisstruktur:
root verfügt nicht über global.asa
virtual.global.asa
another_virtual_root Ein weiteres global.asa
Jedes global.asa in einem anderen Verzeichnis wird natürlich separat ausgeführt. Wenn der darin enthaltene Code jedoch derselbe ist, erwähnen Sie ihn nicht. :)
Wenn Sie also Seiten in verschiedenen Verzeichnissen anfordern, werden unterschiedliche global.asa ausgeführt. Es werden verschiedene Variablen aufgerufen, unterschiedliche Sitzungs-IDs erstellt ... alle vorherigen nützlichen Informationen werden zerstört.
Das Folgende ist eine detaillierte Erklärung:
Wenn Sie zuerst die Seite der untergeordneten virtuellen Anwendung (untergeordnete virtuelle Anwendung) durchsuchen und dann die übergeordnete Seite der untergeordneten virtuellen Anwendung durchsuchen Seite des virtuellen Programms (übergeordnetes virtuelles Stammverzeichnis). Diese Variablen gehen verloren und werden zerstört. Schauen Sie sich das folgende Formular an:
Anforderung Unterprogramm 1 Verlust Unterprogramm 2 Verlust
Zuerst wird ROOT nicht
nur im untergeordneten Programm 1 angefordert vorher wird nicht passieren
Anfordern von Root nur vor Unterprogramm 2 wird nicht passieren
Letzte Anfrage Root wird passieren
Kostenloses ASP-Video-Tutorial
2.Einführung in die drei Methoden des Sitzungsobjekts in ASP
3.Detaillierte Erläuterung der Fähigkeiten zur Verwendung von Sitzungen in ASP
4.Einfaches Beispiel einer ASP-Sitzung
5.Detaillierte Einführung in die Sitzung in ASP
Das obige ist der detaillierte Inhalt vonErfahren Sie, wie Sie das Problem des ASP-Sitzungsverlusts lösen können. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!