Я хочу проверить, содержит ли Session некоторые данные ключа / значения, в моем global.asax. Я не уверен, когда это самое раннее время (и название метода), чтобы проверить это.
спасибо:)
Я всегда верил, что Application_AcquireRequestState было первым событием в Global.asax, которое могло получить доступ к текущему сеансу. Это точно не Application_BeginRequest.
Application_AcquireRequestState
Application_BeginRequest
MSDN случайно упоминает, что состояние сеанса получено во время события Application_PostAcquireRequestState. Хотелось бы, чтобы это было пересмотрено на странице Обзор жизненного цикла .
Последнее доступное состояние сеанса находится в Application_PostRequestHandlerExecute, поскольку оно сохраняется SessionStateModule во время следующего события Application_ReleaseRequestState .
Вам необходимо использовать BeginRequest (http://msdn.microsoft.com/en-us/library/system.web.httpapplication.beginrequest.aspx), поскольку это первое событие, сгенерированное для объекта HttpApplication (который наследуется Global.asax).
BeginRequest
HttpApplication
Подробнее о жизненном цикле приложений ASP.NET вы можете узнать здесь - http://msdn.microsoft.com/en-us/library/ms178473.aspx (это для IIS 5 и IIS 6).
Согласно тексту ссылки , самые ранние события в global.asax, к которым вы можете обращаться к объектам сеанса, - это когда global.asax запускает событие Session_Start
Session__Start : срабатывает, когда новый пользователь посещает веб-сайт приложения. Session__End : срабатывает, когда время сеанса пользователя заканчивается, заканчивается или он покидает веб-сайт приложения