Ich habe ein Problem mit einer klassischen ASP-Seite und ich kann es seit 3 Tagen nicht mehr lösen.
Die Seite arbeitet mit Sessions - manchmal wird der ASPSESSIONID-Cookie in den Request.ServerVariables ("HTTP_COOKIE") zweimal gesetzt. Dies bewirkt, dass die ASP-Seite beim Aktualisieren der Seite zwischen den beiden Sitzungen springt.
Ich habe eine Testseite geschrieben, die die aktuelle SessionId, die Server Software und den HTTP_COOKIE Wert ausgibt.
Beispielausgabe:
Sitzungs-ID: 308542840
Sitzungszeitüberschreitung: 20 Minuten
Serversoftware: Microsoft-IIS / 6.0
HTTP_COOKIE: ASPSESSIONIDQCBATRAD = MBHHDGCBGGBJBMAEGLDAJLGF; ASPSESSIONIDQCCDTTCB = PGHPDGCBPLKALGGKIPOFIGDM
Warum gibt es zwei ASPSESSIONIDs? Wenn ich die Seite aktualisiere, gibt es zufällig eine der zwei Sitzungs-IDs aus.
Hier ist ein Screencast, der das Problem in IE9 zeigt: Ссылка
Dieser Fehler tritt häufig in ie8 und ie9 auf.
Machen Sie Folgendes, um das Problem neu zu erstellen:
Wenn Sie diese Schritte wiederholen, wird das HTTP_COOKIE zufällig (nicht immer) mit zwei verschiedenen ASPSESSIONIDs gefüllt.
Die ASP-Testdatei gibt nur die mentIod-Werte aus, nichts anderes passiert im Quellcode.
Dies ist der Code der asp-Testdatei:
%Vor%Wie kann ich mehrere ASPSESSIONIds in Cookies vermeiden?
Danke für jede Hilfe!
Ich konnte diese Cookies mit Javascript entfernen.
Fügen Sie am Ende der Anmeldeseite das nächste Skript hinzu. Dadurch werden alle "ASPSESSIONIDXXXXXXX" -Cookies entfernt, bevor sich der Benutzer auf der Website anmeldet:
%Vor%Dieses Problem hat mich auch lange beschäftigt. Und ich kann es nicht lösen.
Es geht nicht um Browsergeschäfte. Mein Chrome, Firefox, IE haben alle dieses Problem.
Manchmal kann ich 20+ ASPSESSIONIDXXXX-Cookies auf einer Seite sehen.
Schließlich muss ich JavaScript verwenden, um die alte ASPSESSIONID *** zu löschen und die neueste zu behalten.
%Vor%Gehen Sie zur erweiterten Einstellung des Anwendungspools und legen Sie "Maximale Arbeitsprozesse" auf 1 fest.
Vielleicht später, aber könnte nützlich sein, da es keine akzeptierte Antwort gibt.
Überprüfen Sie im Anwendungspool bei den Recyclingoptionen, ob Sie dies nicht tun Recycling deine Anwendung zu früh oder du wirst mit einem beendet ASPSESSIONIDXXXXXXX für jede neue Anwendung, die Sie respawnen.
Es gibt mehrere Recycling-Bedingungen. Ich habe "minimale Anzahl von Anfragen" versehentlich auf 1 gesetzt und habe eine ASPSESSIONID für jede Anfrage
Tags und Links iis session asp-classic cookies iis-6