Aplicación ASP.NET alojada en IIS7 que ignora los errores personalizados y recurre a los errores de IIS

Tengo una aplicación web ASP # 4 4.0 de formularios web C # que utiliza el enrutamiento de URL por alguna razón, los errores personalizados definidos en la sección system.web de mi web.config se ignoran por completo y volverán a caer los errores de IIS.

Esto se ignora por completo

  <system.web>
    <customErrors mode="On">
      <error statusCode="500" redirect="~/Error" />
      <error statusCode="404" redirect="~/404" />
      <error statusCode="403" redirect="~/Error" />
    </customErrors>
  </system.web>

Esta parte se hace cargo

  <system.webServer>
    <httpErrors>
      <!--<clear />-->
      <remove statusCode="500" subStatusCode="-1" />
      <remove statusCode="404" subStatusCode="-1" />
      <error statusCode="404" subStatusCode="-1" path="/App1/404" responseMode="Redirect" />
      <error statusCode="500" prefixLanguageFilePath="" path="/App1/Error" responseMode="Redirect" />
    </httpErrors>
  </system.webServer>

Esto sería un inconveniente menor, excepto que por el hecho de que recurre a IIS nativo en lugar de a mi aplicación, evita completamente que Elmah registre mis excepciones 404 correctamente.

Editar: Solo para evitar cualquier sugerencia de este tipo, solo agregué la configuración httpErrors después de que customErrors dejó de funcionar para tener cualquier cosa.

Respuestas a la pregunta(4)

Su respuesta a la pregunta