Search code examples
asp.netasp.net-mvcasp.net-mvc-3asp.net-mvc-4httpmodule

My custom httpModule is not being detected with MVC


I've created a custom module:

namespace KittenFarm.ServerModules
{
    public class CustomServerHeaderModule : IHttpModule
    {
        public void Init(HttpApplication context)
        {
            context.PreSendRequestHeaders += OnPreSendRequestHeaders;
        }

        public void Dispose()
        { }

        void OnPreSendRequestHeaders(object sender, EventArgs e)
        {
            HttpContext.Current.Response.Headers.Remove("Server");
        }
    } 
}

And I've registered it in my web config:

<system.webServer>
    <validation validateIntegratedModeConfiguration="false"/>
    <modules runAllManagedModulesForAllRequests="true">
        <add name="CustomServerHeader" type="CustomServerHeaderModule" />
    </modules>
    ....

However, it never seems to run.

I suspected it was a namespace issue, but I have tried every combination of namespaces in the type= section I can think of and it never hits the breakpoint I put in it.

Any ideas?


Solution

  • The problem was that the solution was set up to use the Visual Studio Development Server, which doesn't pick up the http modules. After I changed it to use my local IIS, it worked.