Я должен получить доступ к Переменным сеанса на событии Session_End в global.asax.cs, но HttpContext. Текущий является пустым, таким образом, ни одна из переменных сеанса не доступна.
a) Могу я сессия пользователя доступа так или иначе по-другому, или
b) Есть ли какой-либо другой выступ события перед Session_End, я мог переменные сеанса пользователя доступа?
Прежде чем тратить много времени и усилий, вы можете принять во внимание, что Amazon обещает предложение высокой доступности поверх службы реляционных баз данных Amazon (RDS).
-121--4746634-Новые функции Amazon RDS скоро
Предложение высокой доступности - для разработчики и бизнес, которые хотят дополнительная устойчивость за пределами автоматизированное резервное копирование от Amazon RDS без дополнительной платы. С помощью предложение высокой доступности, разработчики и бизнес может легко и эффективное с точки зрения затрат обеспечение синхронно реплицированные экземпляры БД в нескольких зонах доступности, для защиты от отказа в пределах одиночное расположение.
Для абстрагирования этого может потребоваться использование библиотеки. Оба прототипа jquery будут обрабатывать это для вас. Jquery особенно хорошо позволяет вам создать событие с очень простым кодом.
Документация Jquery доступна здесь: http://docs.jquery.com/Events
-121--3035674-. Текущий
недоступен в Session _ End
, но доступ к экземпляру сеанса можно получить непосредственно с помощью this.Session
.
Что вы пытаетесь сделать?
Нет события, предшествующего Session_End, которое вы могли бы использовать для доступа к объекту Session.
Если вы сохранили временную метку действия, относящуюся к последнему разу использования объекта сеанса, а затем проверили это, вы могли бы получить некоторое представление о том, когда оно должно закончиться.
(На основе ваших настроек / конфигурации IIS).
Однако доступ к нему продлит жизнь объекта Session.
Конечно, вам нужно как-то это проверить, используя скрытую обратную передачу Ajax, которая запускает событие, или что-то подобное.
Но на самом деле я бы этого не советовал. Что вы пытаетесь сделать, что вам это нужно?
Если только Вы не используете Session_End для конкретной цели, когда сессия тайм-аут, полагаться на Session_End не очень хорошая идея.
Я не верю, что существует какой-либо надежный способ захвата конца сессии пользователя (например, когда они закрывают браузер).