asp.net sessionID меняется на обратных передачах? - PullRequest
7 голосов
/ 28 февраля 2009

Я пишу приложение asp.net, которое хранит объект в кеше. Когда страница загружается в первый раз, она проверяет кеш для объекта, если он там, он будет использовать объект. если объект не существует, он пересобирает его и сохраняет в кеше. Поскольку несколько пользователей могут использовать это приложение одновременно, я пытался сохранить объект в кеше, ключом кеширования которого является SessionID. Ну, я заметил, что когда страница отправляется обратно, sessionID меняется, поэтому мне нужно будет использовать другой уникальный ключ. Какие-либо предложения? Я думал об использовании идентификатора пользователя, вошедшего в систему, но это также не является уникальным, поскольку вы можете войти с одним и тем же идентификатором несколько раз.

Ответы [ 2 ]

10 голосов
/ 28 февраля 2009

Мне кажется, я только что нашел ответ от MSDN (это изменение к 2.0,3.5):

"При использовании состояния сеанса на основе файлов cookie ASP.NET не выделяет хранилище для данных сеанса до тех пор, пока не будет использован объект сеанса. В результате для каждого запроса страницы генерируется новый идентификатор сеанса до получения доступа к объекту сеанса. Если вашему приложению требуется статический идентификатор сеанса для всего сеанса, вы можете либо реализовать метод Session_Start в файле приложения Global.asax и сохранить данные в объекте Session для исправления идентификатора сеанса, либо использовать код в другой части вашего приложение для явного хранения данных в объекте Session. "

http://msdn.microsoft.com/en-us/library/system.web.sessionstate.httpsessionstate.sessionid.aspx

0 голосов
/ 28 февраля 2009

Идентификатор сеанса не должен изменяться при обратных передачах. Он используется asp.net для аналогичных действий. Можете ли вы предоставить больше информации о сценарии? какой тип данных, почему / когда вы пытаетесь «кэшировать»

Обновление 1: Относительно того, что оно меняется в каждом посте назад, вы отключили куки? какую версию asp.net вы используете?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...