2009-09-21 1 views
8

Mein Verständnis vonDifferenz mit regenerateExpiredSessionId = "false" und regenerateExpiredSessionId = "true" .net

http://msdn.microsoft.com/en-us/library/system.web.configuration.sessionstatesection.regenerateexpiredsessionid.aspx

Bedeutung von regenerateExpiredSessionId = "false" war, dass, wenn eine Session-ID abgelaufen wird es nicht Wird verwendet, wenn der Client eine URL mit derselben ID anfordert.

Und mening von regenerateExpiredSessionId = "true" war, dass wenn eine Sitzungs-ID abgelaufen ist, es wiederverwendet (recycelt) wird, wenn der Client eine URL mit derselben ID anfordert.

Aber wenn ich Post an

regenerateExpiredSessionId not working as expected

lesen scheint es, dass ich was falsch verstanden regenerateExpiredSessionId = "true" bedeutet.

Kann jemand erklären, was richtig ist?

+0

Ich glaube, Sie korrekt sind, und ich sehe nicht, wie die anderen Post widerspricht. – Locksfree

+0

Ich weiß, dass diese Frage 5 Jahre alt ist, aber ich würde immer noch gerne eine klärende Antwort sehen, die die obige Interpretation dieser Einstellung bestätigt oder leugnet. Ich finde es auch ein wenig verwirrend. – jdmcnair

Antwort

1

Ich glaube, dass das Wort "Reissue" problematisch ist, wenn Leute dieses Attribut diskutieren. Ich habe gesehen, dass einige Beiträge es so interpretieren, dass "eine neue Sitzungs-ID generiert und an den Client ausgegeben wird" und andere, die es so interpretieren, dass eine abgelaufene Sitzungs-ID einer neuen Sitzung zugewiesen und an den Client ausgegeben wird. Ich glaube, dass die msdn-Dokumentation es in letzterem Sinne bedeutet, und dass der Stapelüberlauf, den Sie als Referenz angeben, fälschlicherweise als erster interpretiert wird.

11

Standardmäßig werden die Sitzungs-ID-Werte, die in Sitzungen ohne Cookies verwendet werden, wiederverwendet. Das heißt, wenn eine Anfrage mit einer abgelaufenen Sitzungs-ID erfolgt, wird eine neue Sitzung gestartet, indem der SessionID-Wert verwendet wird, der mit der Anfrage geliefert wird. Dies kann dazu führen, dass eine Sitzung unbeabsichtigt geteilt wird, wenn ein Link, der einen Cookie-freien Sitzungs-ID-Wert enthält, von mehreren Browsern verwendet wird. (Dies kann auftreten, wenn der Link über eine Suchmaschine, eine E-Mail-Nachricht oder ein anderes Programm gesendet wird.) Sie können die Wahrscheinlichkeit der gemeinsamen Nutzung von Sitzungsdaten reduzieren, indem Sie die Anwendung so konfigurieren, dass Sitzungskennungen nicht wiederverwendet werden. Legen Sie dazu das Attribut regenerateExpiredSessionId des Konfigurationselements sessionState auf true fest. Dies erzeugt eine neue Sitzungs-ID, wenn eine Session-Anfrage ohne Cookies mit einer abgelaufenen Sitzungs-ID erfolgt.

Ref: http://msdn.microsoft.com/en-us/library/ms178581.aspx