Просто потратил много времени, просеивая противоречивые советы по этой проблеме, и думал, что отправлю решение.
Моя среда -.NET 4.5, Visual Studio 2012, работающая над приложением MVC 4. Я создал Http-модуль, как и в прошлом, и добавил его в Web.config следующим образом:
<configuration>
<system.web>
<httpModules>
<add name="MyModule" type="Services.MyModule, Services" />
</httpModules>
</system.web>
</configuration>
Однако приложение никогда не вызывало модуль Init(). В конце концов, я нашел совет, что модули должны быть внутри <system.webServer>
, а элемент с именем <modules>
вместо <httpModules>
, например:
<configuration>
<system.webServer>
<modules>
<add name="MyModule" type="MyModule" type="Services.MyModule, Services" />
</modules>
</system.webServer>
</configuration>
Перезапустите приложение, и оно называется Init(), как и ожидалось. FWIW, страница с направлением находится здесь: http://msdn.microsoft.com/en-us/library/ms227673.aspx
НТН