Я использую HttpHandler для динамического обслуживания изображений в веб-приложении ASP.Net.
У меня проблема с производительностью (Firfox / Firebug / YSlow сообщает, что слишком много запросов HttpRequest)
В некоторых случаях у меня от 50 до 100 изображений на странице. 3 вида дерева (бизнес-единицы / категории / объекты), каждый из которых имеет свое изображение;)
URL-адрес каждого элемента динамически устанавливается так ...
SomeImage.ImageUrl = "/image.axd?ImageId= enj0‹";
Примечание: я знаю только во время выполнения, какие изображения потребуются.
Дополнительно: изображения находятся в файловой системе сервера, в файле ресурсов, а также в базе данных - пользователи могут загружать свои собственные изображения для связи с объектами моей системы, и ImageHandler будет определять каждое местоположение изображения динамически)
В файле web.config httphandler настроен и работает как положено ...
add verb = "GET" path = "image.axd" type = "Vision.OnsightManager.ImageHandler"
В HttpHandler необработанные байты изображения возвращаются в ответ на каждый запрос изображения.
Поэтому в методе обработчика изображения WriteResponse () возвращаются байты изображения, например ...
context.Response.BinaryWrite (байт);
Все изображения отображаются правильно, но приложение имеет проблемы с производительностью, как и ожидалось, когда отображается много изображений ...
Вопрос:
Какой подход вы рекомендуете, кроме уменьшения количества изображений;), для минимизации всех запросов Http, сгенерированных для каждого изображения? Может быть, объединение в один запрос Http?
Я прочитал статьи о объединении нескольких запросов CSS в один запрос, использовании сопоставления изображений (одно объединенное изображение со смещениями) и т. Д., Но ни одна из них не подходит для моего конкретного сценария?
С большим удовольствием!