Подтвердить что ты не робот

Когда самый ранний я могу получить доступ к некоторым данным сеанса в global.asax?

Я хочу проверить, содержит ли Сессия некоторые данные о ключе/значении в моем global.asax. Я не уверен, когда самое раннее время (и имя метода), чтобы проверить это.

спасибо:)

4b9b3361

Ответ 1

Я всегда считал, что Application_AcquireRequestState было первым событием в Global.asax, который мог получить доступ к текущему сеансу. Это определенно не Application_BeginRequest.

Ответ 2

MSDN случайно упоминает, что состояние сеанса получено во время события Application_PostAcquireRequestState. Я бы хотел, чтобы он был скопирован на странице Обзор жизненного цикла.

Последнее, что вы можете получить в состоянии сеанса, находится в Application_PostRequestHandlerExecute, поскольку оно сохраняется SessionStateModule во время следующего события Application_ReleaseRequestState.

Ответ 3

Вам нужно использовать BeginRequest (http://msdn.microsoft.com/en-us/library/system.web.httpapplication.beginrequest.aspx), поскольку это первое событие, запущенное на объекте HttpApplication (который Global.asax наследует).

Здесь вы увидите больше о жизненном цикле приложений ASP.NET - http://msdn.microsoft.com/en-us/library/ms178473.aspx (это для IIS 5 и IIS 6).

Ответ 4

Согласно текст ссылки, самые ранние события в global.asax, к которым вы можете получить доступ к объектам сеанса, - это когда global.asax запускает событие Session_Start

Session__Start: вызывается, когда новый пользователь посещает веб-сайт приложения.
Session__End: увольняется, когда пользовательский сеанс истекает, заканчивается или покидает веб-сайт приложения