HttpModule not running with Visual Studio
Cassini, the development web server provided with IIS uses the IIS6 module syntax, so you must duplicate the module add like so
<system.web> <httpModules> <add name="MinimizeModule" type="ClipperHouse.UrlMinimizer.MinimizeModule" /> </httpModules></system.web><system.webServer> <validation validateIntegratedModeConfiguration="false"/> <modules> <remove name="MinimizeModule" /> <add name="MinimizeModule" type="ClipperHouse.UrlMinimizer.MinimizeModule" preCondition="managedHandler" /> </modules></system.webServer>
Note that I've also added a precondition to your IIS7 settings
If you are running on IIS 7, put the module in:
<configuration> <system.webServer> <modules> <add name="MinimizeModule" type="ClipperHouse.UrlMinimizer.MinimizeModule" /> </modules> </system.webServer></configuration>
If you are running on Cassini (Visual Studio's integrated miniature web-server), put the module in:
<configuration> <system.web> <httpModules> <add name="MinimizeModule" type="ClipperHouse.UrlMinimizer.MinimizeModule" /> </system.web></configuration>
IIS will crash if you give it the Cassini location.
Cassini will crash if you give it the IIS location.
Whenever i deploy, i have to be sure not to deploy web.config
. i also include the notes in web.config
:
<system.web> <!--The Cassini location to add modules (comment out for IIS)--> <httpModules> <!--WARNING: IIS will crash if you leave this in here. IISBUG: IIS doesn't support system.web/httpModules, and Cassini doesn't support system.webServer/modules --> <!--Comment out for IIS--> <add name="PerformanceHttpModule" type="DummyPlaceholder.PerformanceHttpModule"/> </httpModules></system.web><system.webServer> <!--The IIS7 location to add modules (comment out for Cassini) <modules runAllManagedModulesForAllRequests="true"> <!--IIS7 will crash if you present a system.web httpModules. --> <remove name="PerformanceHttpModule" /> <add name="PerformanceHttpModule" type="DummyPlaceholder.PerformanceHttpModule"/> </modules></system.webServer>
IIS's left hand doesn't know what Cassini's right hand is doing - and they both screwed it up.
Did you try also putting the module declaration in the element? When running in dev using Cassini, that's usually the place I have to put modules to get them running.