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

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

Вопрос

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

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

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

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

Решение

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

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

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

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

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

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

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

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

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

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