O IIS não carrega o módulo HTTP personalizado do web.config

17

Eu tenho um módulo HTTP personalizado para um site ASP.NET MVC3 que estou carregando do web.config:

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

O módulo é carregado corretamente quando eu executo o site a partir do servidor web VS (o ponto de interrupção no meu método Init é atingido), mas quando eu o hospedo no IIS ele parece ser ignorado (o ponto de interrupção é perdido e o módulo funcionalidade está ausente do site). Eu tentei em duas caixas separadas do IIS com um resultado semelhante.

O que estou fazendo de errado? Existe uma configuração que eu tenho que ligar para ativar o IIS para carregar módulos de web.config de um site?

    
por Mike Chamberlain 20.06.2011 / 09:02

2 respostas

21

Eu descobri isso logo depois de fazer a pergunta - o IIS7 usa um esquema diferente para o web.config. O local correto para carregar um módulo é agora:

<system.webServer>
  <modules>
    <add name="MyModule" type="MySolution.Web.MyHttpModule, MySolution.Web" />
  </modules>
</system.webServer>
    
por 20.06.2011 / 09:12
1

Eu tenho um problema semelhante. Minha solução envolveu remover o módulo primeiro e, em seguida, adicioná-lo novamente ao namespace system.webServer.

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

Isso pode ser porque implantamos em dois servidores IIS diferentes. um no servidor 2003 (iis 6) e outro no servidor 2008 (iis7 +). Então, adicionando o módulo parecia impedi-lo de carregar no namespace. Eu posso estar errado aqui ...

    
por 19.07.2012 / 13:44