Take the 2-minute tour ×
Server Fault is a question and answer site for professional system and network administrators. It's 100% free, no registration required.

I have a custom HTTP module for an ASP.NET MVC3 website that I'm loading from web.config:

<system.web>
    <httpModules>
      <add name="MyModule" type="MySolution.Web.MyHttpModule, MySolution.Web" />
    </httpModules>
</system.web>

The module is loaded correctly when I run the site from within the VS web server (the break point in my Init method is hit) but when I host it in IIS it seems to be ignored (the breakpoint is missed and the module's functionality is absent from the site). I have tried it on two separate IIS boxes with a similar result.

What am I doing wrong? Is there a setting I have to flick in enable IIS to load modules from a site's web.config?

share|improve this question
add comment

2 Answers

up vote 9 down vote accepted

I figured this out shortly after I asked the question - IIS7 uses a different schema for the web.config. The correct place to load a module is now:

<system.webServer>
  <modules>
    <add name="MyModule" type="MySolution.Web.MyHttpModule, MySolution.Web" />
  </modules>
</system.webServer>
share|improve this answer
1  
've run into this same issue and this post help me fix it. I did find that it is required to keep both system.web/httpModules and system.webServer/modules to have my custom module work on both the local dev server and the production server. –  Ido Ran Aug 16 '12 at 5:49
    
Thanks Man, this helped a lot –  Hassan Mokdad Jan 8 at 8:52
add comment

I have a similar problem. My Solution involved removing the Module first and then re-adding it to the system.webServer namespace.

<system.webServer>
   <modules>
     <remove name="MyModule"/>
     <add name="MyModule" type="MySolution.Web.MyHttpModule, MySolution.Web" />
   </modules>
</system.webServer>

This may be because we deploy to two different IIS servers. one on server 2003 (iis 6) and one on server 2008 (iis7+). So adding the module to seemed to block it from loading in the namespace. I could be wrong here...

share|improve this answer
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.