Разница с регенератомExpiredSessionId = "ложь" и регенератомExpiredSessionId = "истина" .net - PullRequest
11 голосов
/ 22 сентября 2009

Мое понимание от

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

значение Когда-либо истек срок действия идентификатора сеанса, он будет НЕ использоваться повторно, если клиент запрашивает URL-адрес с тем же идентификатором.

И имя carrateExpiredSessionId = "true" состояло в том, что если истек срок действия идентификатора сеанса, он будет использован повторно (повторно использован), если клиент запросит URL с таким же идентификатором.

Но когда я читаю пост на

refreshrateExpiredSessionId не работает должным образом

кажется, что я неправильно понял, что означает регенерация ExpiredSessionId = "true".

Может кто-нибудь объяснить, что правильно?

Ответы [ 2 ]

13 голосов
/ 07 октября 2011

По умолчанию значения идентификатора сеанса, используемые в сеансах без файлов cookie, перерабатываются. То есть, если запрос сделан с идентификатором сеанса, срок действия которого истек, новый сеанс запускается с использованием значения SessionID, которое предоставляется вместе с запросом. Это может привести к непреднамеренному совместному использованию сеанса, когда ссылка, содержащая значение SessionID без cookie, используется несколькими браузерами. (Это может произойти, если ссылка передается через поисковую систему, через сообщение электронной почты или другую программу.) Вы можете уменьшить вероятность совместного использования данных сеанса, настроив приложение, чтобы оно не перезапускало идентификаторы сеанса. Чтобы сделать это, присвойте атрибутуraterateExpiredSessionId элемента конфигурации sessionState значение true. Это создает новый идентификатор сеанса, когда выполняется запрос сеанса без файлов cookie с идентификатором сеанса с истекшим сроком действия.

Ссылка: http://msdn.microsoft.com/en-us/library/ms178581.aspx

1 голос
/ 05 марта 2010

Я считаю, что слово «переиздание» проблематично, когда люди обсуждают этот атрибут. Я видел, что некоторые сообщения интерпретируют его как «новый идентификатор сеанса генерируется и выдается клиенту», а другие интерпретируют его как «истекший идентификатор сеанса назначается новому сеансу и выдается клиенту». Я полагаю, что документация msdn означает это в последнем смысле, и что сообщение о переполнении стека, на которое вы ссылаетесь, неправильно интерпретировало его как первое.

...