Присоединение событий к Session OnStart и OnEnd с использованием HttpModules - PullRequest
4 голосов
/ 12 февраля 2009

Кто-нибудь знает чистый способ добавления событий в события OnStart и OnEnd Session с использованием HttpModule (не касаясь файла Global.asax)?

Ответы [ 2 ]

4 голосов
/ 12 февраля 2009
public void Init(HttpApplication app)
{
   var ssm = app.Modules["Session"] as SessionStateModule;
   ssm.Start += Foo;
   ssm.End += Bar;
}
2 голосов
/ 20 января 2012

Поведение Session OnStart можно эмулировать - в одном из событий запроса вашего HttpModule - проверяя, установлено ли HttpContext.Current.Session.IsNewSession в true.

Однако есть одна ловушка! Если не установлено значение в объекте Session, следующий запрос будет иметь положительное значение как IsNewSession. Поэтому, когда вы, возможно, проверили IsNewSession, вы должны установить любое значение в объекте Session.

...