3

Я написал динамическое изменение изображения как HttpHandler. Она автоматически вызывается на что-либо с расширением изображения, так, например:Можно ли пропустить HttpHandler, если нет строки запроса?

http://www.mysite.com/picture.jpg?width=200&height=100

будет работать обработчик и возвращает уменьшенное изображение с соответствующими заголовками ответа. Тем не менее, я хочу, чтобы обработчик, чтобы запрос «пройти», если она вызывается без строки запроса:

http://www.mysite.com/picture.jpg

Я хочу, чтобы это вернуть изображение с информацией заголовка, как было бы, если бы не было пропустите его через обработчик. Возможно ли это, без необходимости вручную кодировать информацию заголовка (которая включает в себя открытие потоков для чтения данных, таких как последняя дата записи), или мне нужно вместо этого преобразовать обработчик в HTTPModule?

ответ

4

Обработчик должен «обрабатывать» запрос. Это конец цепи. Вам либо нужно сделать его HttpModule, либо вам нужно самому обслуживать изображение, независимо от того, измените его размер или нет.

+0

Вот что я чувствовал, что должен делать обработчик. Спасибо, что подтвердили это! –

1

Не могли бы вы просто настроить обработчик для учета этого случая? Вы можете просто убедиться, что нет параметров строки запроса и просто сопоставить путь запроса к диску и вернуть изображение напрямую, открыв его и просто напишите в выходной поток.

+0

Проблема в том, что я должен был бы установить всю информацию заголовка самостоятельно, а не следить за тем, как веб-сервер заботится об этом. На самом деле, главная причина, по которой я хотел избежать этого, состояла в том, что я подумал, что мне нужно открыть файл, чтобы получить последнюю дату записи. Я не понял, что File.GetLastWriteTimeUtc (файл) 'делает то же самое до сих пор. –