Heim  >  Artikel  >  Backend-Entwicklung  >  Erfahren Sie, wie Sie das Problem des ASP-Sitzungsverlusts lösen können

Erfahren Sie, wie Sie das Problem des ASP-Sitzungsverlusts lösen können

Y2J
Y2JOriginal
2017-05-18 11:33:171795Durchsuche

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

【Verwandte Empfehlungen】

1.

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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn