Событие окончания сеанса - PullRequest
0 голосов
/ 28 апреля 2011

Я работаю в ASP.net 3.5 C #. То, что я пытаюсь сделать, - это когда вызывается событие Session_End, я хочу обновить статус пользователя, вошедшего в систему, в базе данных, которую текущий пользователь вышел из системы любыми средствами (Выйти из системы вручную, время сеанса и т. Д. Он вызывает событие Session_End). Проблема в том, что я не тюков для поддержания идентификатора пользователя. Я не могу получить доступ к переменной Session, так как куки сеанса уже истекли и у меня не работает.

Пожалуйста, предложите решение.

Большое спасибо

С уважением Вивек

Ответы [ 2 ]

0 голосов
/ 19 июля 2011

Вы должны иметь доступ к переменным сеанса в событии Session_End. Все данные, сохраненные в сеансе, удаляются после завершения события Session_End. Но вы должны быть осторожны, потому что сессии созданы для всех посетителей. Если вы сохраняете UserID в сеансе, он может быть нулевым внутри Session_End, если кто-то просматривал страницу входа, но не входил в систему. Не рекомендуется устанавливать время ожидания сеанса в днях, поскольку эти сеансы могут заполнять всю память сервера. *

0 голосов
/ 28 апреля 2011

Попробуйте переместить UserID в ViewState, если у вас есть BasePage, от которого наследуются все ваши страницы, или если вы используете MasterPage, тогда будет довольно легко нажать UserID для просмотра состояния на каждой странице.Печенье должно быть живым вне сессионной жизни.Вы устанавливаете время истечения для вашего куки?

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