Pregunta

Yo sé que esto ya se ha pedido aquí pero el Respuesta (utilizando un controlador en su lugar) no resuelve el problema, ya que estoy usando un componente de terceros que no implementa IHttpHandler.

Así que, de nuevo, ¿hay alguna manera de cargar / descargar un HttpModule en una cierta petición?

EDIT: se me olvidó mencionar que estamos trabajando con .NET 2.0. Siento lo que olvido algo.

¿Fue útil?

Solución

No he probado esto, pero una comentario en este artículo parece sugerir que es posible registrar módulos sólo para determinados lugares mediante el uso de un <location> en web.config, por ejemplo:

  <location path="some/path">
    <system.web>
      <httpModules>
        <remove name="name"/>
        <add name="name" type="type"/>
      </httpModules>
    </system.web>
  </location>

Otros consejos

Asumo que el problema está relacionado con la herencia de la HttpModule, ¿necesita la herencia de su web.config con el control de terceros?

Trate de añadir este atributo en el que el camino será donde se almacena componente;

<location path="/ThirdPartyComponents" inheritInChildApplications="false">
    ...
</location>

Una forma en que podría hacerlo es con un módulo de envoltura. Registrar un httpModule con su solicitud a continuación, crear reglas en este módulo, que corresponden a la ejecución de otros módulos. Usted tiene acceso al objeto pedido, por lo que debe ser capaz de detectar qué tipo de petición que está recibiendo y conducir la lógica fuera al módulo correspondiente (personalizado).

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top