Везде на MSDN написано, что хэндлеры нужно вешать в Init, что я и делаю.
Но при этом BeginRequest обработчик не срабатывает.
public void Init(HttpApplication context)
{
this.context = context;
this.context.BeginRequest += new EventHandler(context_BeginRequest);
this.context.EndRequest += new EventHandler(context_EndRequest);
}
void context_BeginRequest(object sender, EventArgs e)
{
context.Context.Items[ItemsKey] = CreateSession();
}
void context_EndRequest(object sender, EventArgs e)
{
ISession session = GetSession();
session.Flush();
session.Close();
ClearSession();
}
Регистрируется следующим образом:
<system.webServer>
<modules runAllManagedModulesForAllRequests="true">
<add name="SimpleSessionHandler" type="Project.HttpModules.SessionHandlerModule, Project.SimpleSessionHandler" preCondition="managedHandler"/>
</modules>
...
В дев. сервере и classic pipeline работает без проблем.
-
Вопрос задан
-
2531 просмотр