Frage

Ich bin die Hoffnung, jemand dieses Verhalten für mich klarstellen kann, und erklärt, wie ASP.NET ist zu entscheiden, wenn so etwas wie eine neue Session zu behandeln.

A) im Internet Explorer lade ich die ASP.NET-Website in Frage. Es beginnt eine neue Session.
B) Wenn ich zum Menü Datei gehen - Neues Fenster ... es bleibt in der gleichen Session
. C) Wenn ich eine neue Instanz von Internet Explorer und laden Sie die gleiche Seite starten startet eine neue Session.

Ich bin von Schritt C verwirrt Ich erwarte es die gleiche Sitzung auf meinem Remote-IP-basiert sein.
Was ist IIS / ASP.NET zu entscheiden, zu tun, dass dies eine neue Sitzung ist? Ist es an meinem Remote-Port sucht, dass die neue Instanz von IE verwendet? Wenn Sie ein neues Fenster mit Datei-aufwirbeln -. New es dem gleichen Remote-Port als Mutter verwendet

War es hilfreich?

Lösung

Sitzungen in IIS / ASP.NET basiert auf Cookies mit einem Sitzungsbereich, was bedeutet, dass sie zerstört werden, wenn der Browser geschlossen wird, und offenbar sind sie in verschiedenen Prozessen des Internet Explorer nicht mit anderen geteilt.

Wenn Sie ein neues Browserfenster mit Datei öffnen> Neues Fenster des Fenster wird nach dem gleichen Verfahren wie die ersten behandelt werden (das heißt die gleiche iexplorer.exe). Wenn Sie den Internet Explorer aus dem Startmenü lauch erhalten Sie einen neuen Prozess, und Sie werden nun zwei iexplorer.exe im Task-Manager haben. Ich denke, dass es nur IE 7, die mehrere Prozesse spawnen.

Als Randbemerkung, IE 8 wird eine einzelne Prozess pro Tab / Fenster, wie Google Chrome hat. Ich weiß nicht, ob dieser Browser Session-Cookies amongs die Prozesse teilen, aber es ist sicherlich etwas im Auge zu behalten, wenn mit einem des folgenden Browser zu testen.

Andere Tipps

Standardmäßig verfolgt ASP.NET-Sitzungen über Cookies. Eine neue IE-Instanz nicht über das Session-Cookie, in einer neuen Sitzung zur Folge hat. Allerdings Datei -.> Neues Fenster aus einem vorhandenen IE-Fenster wird ein neues Fenster mit den gleichen Cookies als „Eltern“ erstellen, so dass ASP.NET die vorhandenen Sitzung verwenden,

Ich würde fragen, ob die neue IE-Instanz die gleichen Cookies haben würde, die im Fall B passieren, wo während er sich ein neues Fenster ist es das gleiche Verfahren verwendet. Es ist in der Regel in den Cookie oder in der Abfragezeichenfolgeflag, dass es einen Wert zuzuordnen Sitzungen zu verschiedenen Clients verwendet wird.

Es scheint, die Sitzungsdaten werden pro Prozess zwischengespeichert zu werden. A) und B) ist im gleichen Prozess, während eine neue Instanz des IE gestartet wird, ein neues Verfahren zu schaffen.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top