2013-08-13 4 views
2

Можем ли мы кэшировать изображения, css и javascript любого определенного вида (не частичного представления) в MVC3 через атрибут OutputCache. например, я хочу кэшировать представление Home Controller. Я пробовал это, но только содержимое кэшировалось без изображений и css.Можно ли кэшировать изображения, css и java-скрипт в MVC3 через Output Cache?

+0

Обычно эти файлы являются статическими. обслуживается непосредственно веб-сервером. Вы создаете эти файлы динамически через действие контроллера? если да, вы должны просто добавить атрибут. – Andreas

+0

Привет Андреас, Да, все эти файлы статичны. То, что я хочу сделать, - Когда не будет сети, я хочу показать свою домашнюю страницу с сообщением «System is Out of Network». –

ответ

1

Вместо вывода кэша атрибутов вы можете использовать следующие методы, чтобы кэширование статических ресурсов:

1.using максимального возраста. Помещенный ниже раздел в web.config в <configuration> -><system.webServer> раздел

<staticContent> 
    <!-- Tell client to cache static files for a year --> 
    <clientCache cacheControlMode="UseMaxAge" 
       cacheControlMaxAge="365.00:00:00" /> 
</staticContent> 

2.Using URL версий. Может быть сделано путем комплектации. Если вы используете MVC3, вы можете посмотреть combres on nuget. В MVC4 или выше он имеет встроенную опцию: Bundling and Minification

+0

Привет, Гарат, я попытался с staticContent добавить мой файл web.config, но опять же не повезло. –

+0

Что вы пытаетесь сделать точно. Этот оператор web.config позволит кэшировать на стороне клиента. –

+0

Привет @Garath: После добавления «combres» Nuget, он начнет кэшировать изображения/css/js автоматически? –