asp.net mvc 4 - visual - HttpModule no se llama en.NET 4.5
visual studio mvc 5 tutorial (1)
Solo pasé mucho tiempo revisando consejos contradictorios sobre este problema, y pensé en publicar mi solución.
Mi entorno es .NET 4.5, Visual Studio 2012, trabajando en una aplicación MVC 4. Creé un Módulo Http como lo había hecho en el pasado, y lo agregué a Web.config así:
<configuration>
<system.web>
<httpModules>
<add name="MyModule" type="Services.MyModule, Services" />
</httpModules>
</system.web>
</configuration>
Sin embargo, la aplicación nunca llamó al Init () del módulo. Finalmente, encontré un consejo de que los módulos deberían estar dentro de <system.webServer>
, y el elemento llamado <modules>
lugar de <httpModules>
, así:
<configuration>
<system.webServer>
<modules>
<add name="MyModule" type="MyModule" type="Services.MyModule, Services" />
</modules>
</system.webServer>
</configuration>
Vuelva a ejecutar la aplicación y llamó a Init () como se esperaba. FWIW, la página con la dirección está aquí: http://msdn.microsoft.com/en-us/library/ms227673.aspx
HTH
<system.web>
es para IIS 6 e inferior (incluido Cassini), <system.webServer>
es para IIS 7 y superior. Por lo general, coloco ambos, por si acaso, y luego agrego este nodo a <system.webServer>
para que no haga ruido en la redundancia:
<validation validateIntegratedModeConfiguration="false" />