Каков наилучший способ сжать и кэшировать статические изображения в Asp.net MVC

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

  1. Узнайте, почему изображения не кэшируются и не распаковываются напрямую из IIS6.
  2. Написать специализированный обработчик http
  3. Зарегистрируйте специальный маршрут для статических изображений и напишите бинарный метод actionresult

Что может быть лучшим решением с точки зрения производительности?

19.08.2008 22:05:00
3 ОТВЕТА
РЕШЕНИЕ

Лучшее решение - позволить IIS сделать это.

Сжатие IIS6 - скорее всего, вам нужно указать типы файлов для сжатия, такие как .jpg, .png, .gif и т. Д.

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

3
19.08.2008 22:11:31
Джефф Этвуд Перечислите некоторые проблемы, с которыми он столкнулся при включении сжатия codinghorror.com/blog/archives/000059.html
Cherian 17.03.2009 04:12:09

В галерее кодов MSDN есть хорошая библиотека, которая делает это. Это называется FastMVC .

1
3.11.2008 18:25:10

Конечно, выигрыш от сжатия большинства изображений незначителен, так как они уже сжаты?

Может быть, у вас есть действительно плохо сжатые файлы PNG или что-то еще?

Возможно, вы захотите посетить сайт с советами по производительности Yahoo, который содержит несколько полезных советов по оптимизации изображений, включая ссылки на такие утилиты, как pngcrush .

гораздо лучше использовать утилиту оптимизации изображений ONCE, чем полагаться на IIS для их сжатия (возможно, неэффективно) на лету.

2
30.01.2009 04:07:46