¿Es posible omitir un HttpHandler si no hay una cadena de consulta?
-
06-07-2019 - |
Pregunta
Escribí un cambio de imagen dinámico como HttpHandler. Se llama automáticamente a cualquier cosa con una extensión de imagen, por ejemplo:
http://www.mysite.com/picture.jpg?width=200&height=100
ejecutará el controlador y devolverá una imagen en miniatura con los encabezados de respuesta adecuados. Sin embargo, quiero que el controlador permita que una solicitud 'pase' si se llama sin una cadena de consulta:
http://www.mysite.com/picture.jpg
Quiero que esto devuelva la imagen con la información del encabezado como si no se ejecutara a través del controlador. ¿Es esto posible sin tener que codificar manualmente la información del encabezado (que implica abrir archivos de flujo para leer datos como la última fecha escrita), o tengo que convertir mi controlador en un HTTPModule
en su lugar?
Solución
Un manejador tiene que "manejar" la solicitud. Es el final de la cadena. Debe convertirlo en un HttpModule, o debe publicar la imagen usted mismo, independientemente de que cambie su tamaño.
Otros consejos
¿No podría simplemente ajustar su controlador para dar cuenta de este caso? Puede asegurarse de que no haya parámetros de cadena de consulta y simplemente asignar la ruta de solicitud al disco y devolver la imagen directamente abriéndola y simplemente escribirla en la secuencia de salida.