Использование HttpModule для отображения изображений

StackOverflow https://stackoverflow.com/questions/809991

  •  03-07-2019
  •  | 
  •  

Вопрос

У меня есть HttpModule, который отображает изображения, соответствующие определенному шаблону URL.Например, /images/employees/jason.jpg обрабатывается модулем, а все остальные изображения — нет.Он отлично работает на моей локальной машине (Cassini и IIS 7).Однако рабочий сервер IIS6 не работает.Я попросил хостинговую компанию сопоставить изображения с рабочим процессом ASP.NET.Теперь все изображения показывают, что они не могут быть отображены, за исключением изображений, которые должны быть обработаны модулем.Они работают корректно.

Я запустил экземпляр HttpWatch для одного из файлов и получил следующую ошибку:

ERROR_HTTP_INVALID_SERVER_RESPONSE

Есть идеи?

Это было полезно?

Решение

Окончательный ответ:

  1. Модуль необходимо обновить для передачи файлов сервера.Итак, я добавил else к своему исходному if и проверил, является ли это типом изображения (с помощью служебного метода), а затем использовал Response.TransmitFile() для передачи файла в браузер.

  2. Затем я столкнулся с проблемой пробелов в изображениях.Это произошло потому, что я забыл, что у меня есть файлы .aspx, зарегистрированные как тип изображения для проведения тестирования.Таким образом, каждая страница аварийно завершала работу во время процесса отладки или добавляла отступы, установленные с помощью CSS.Да!

Сейчас все просто отлично.Спасибо всем!

Другие советы

Кажется, с вашим модулем все в порядке, поэтому проблема, должно быть, исходит откуда-то еще.Есть ли у вас система безопасности, которая может блокировать изображения?Что на самом деле возвращается, когда вы запрашиваете статический файл?

Я бы предложил посмотреть, что возвращается (и его заголовки), используя что-то вроде Firebug для проверки таких вещей, как код ответа, тип контента, фактический необработанный ответ и т. д.

проверьте ваш web.config. IIS6/IIS7 имеет разные места для добавления модулей и зависит от того, в каком режиме работает ваш IIS7.

http://arcware.net/use-a-single-web-config-for-iis6-and-iis7

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top