Каков наилучший способ сжать и кэшировать статические изображения в Asp.net MVC - PullRequest
3 голосов
/ 20 августа 2008

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

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

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

Ответы [ 3 ]

3 голосов
/ 20 августа 2008

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

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

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

2 голосов
/ 30 января 2009

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

Может быть, у вас есть действительно сильно сжатые файлы PNG или что-то в этом роде?

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

гораздо лучше использовать утилиту оптимизации изображений ОДИН РАЗ, чем полагаться на IIS, чтобы сжимать их (возможно, неэффективно) на лету.

1 голос
/ 03 ноября 2008

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

...