2011-02-17 12 views
6

Tengo un HttpModule y me gustaría elegir el HttpHandler para la solicitud actual, ¿es posible? Además, web.config no es una opción porque la condición no se basa en la ruta o la extensión. Mis habilidades de búsqueda en Google me han fallado, no importa qué palabras clave use, todos los resultados son "IHttpHandler vs IHttpModule".Seleccionando HttpHandler desde HttpModule personalizado

Respuesta

4

Después de pasar un par de horas más, finalmente he conseguido encontrar una solución:.

HttpContext.RemapHandler

Esto me permite volver a asignar una solicitud condicional t o un controlador diferente en mi módulo de reescritura de Url.

0

Puede crear un HttpModule que se ejecutará en cada solicitud del Cliente (Navegador).

Vea aquí cómo ha utilizado las cookies para enviar timezoneOFfset utilizando HttpModule.

http://weblogs.asp.net/cprieto/archive/2010/01/03/handling-timezone-information-in-asp-net.aspx

descargar el código y ver cómo las cosas están funcionando.

Definitivamente necesita algunos cambios de configuración.

+0

Ya tengo un HttpModule ejecutándose, lo que necesito es elegir qué controlador se ejecutará al verificar algunas condiciones en este HttpModule, gracias – BlackSwan

1

Suena, para mí, como si estuvieras buscando IHttpHandlerFactory. Esto podría estar registrada en el archivo de web.config (no estoy seguro si es posible registrar este a través de un IHttpModule Ver:.. Walkthrough: Creating and Registering HTTP Handler Factories

me encontré con un interesante puesto recientemente que cubría dynamically registering an IHttpModule Sé que es lo contrario de lo que está buscando, pero puede que le resulte interesante

+0

IHttpHandlerFactory está cerca de lo que necesito, pero aún así se requiere que esté mapeado en 'web.config' . Gracias por la sugerencia y el artículo;) Después de 2 horas más encontré lo que estaba buscando: 'HttpContext.RemapHandler' – BlackSwan

Cuestiones relacionadas