Можно ли пропустить HttpHandler, если нет строки запроса?
Я написал динамическое изменение размера изображения как HttpHandler. Он автоматически вызывается для всего с расширением изображения, например:
http://www.mysite.com/picture.jpg?width=200&height=100
запустит обработчик и вернет миниатюрное изображение с правильными заголовками ответа. Тем не менее, я хочу, чтобы обработчик пропустил запрос, если он вызывается без строки запроса:
http://www.mysite.com/picture.jpg
Я хочу, чтобы это возвращало изображение с информацией заголовка, как если бы оно не запускалось через обработчик. Возможно ли это без необходимости вручную кодировать информацию заголовка (которая включает в себя открытие файловых потоков для чтения данных, таких как последняя записанная дата), или мне нужно преобразовать мой обработчик в HTTPModule
вместо?
2 ответа
Обработчик должен "обработать" запрос. Это конец цепи. Вам либо нужно сделать его модулем HttpModule, либо вам нужно обслуживать изображение самостоятельно, независимо от того, изменяете ли вы его размер или нет.
Не могли бы вы просто настроить свой обработчик для учета этого случая? Вы можете просто убедиться в отсутствии параметров строки запроса и просто сопоставить путь запроса с диском и вернуть изображение напрямую, открыв его и просто записав в выходной поток.