Можем ли мы кэшировать изображения, css и javascript любого конкретного представления (не частичного представления) в MVC3 через атрибут OutputCache. например, я хочу кэшировать представление Home Controller. Я пробовал это, но кешируется только содержимое, а не изображения и css.
Можем ли мы кэшировать изображения, css и java-скрипты в MVC3 через кеш вывода?
comment
обычно эти файлы являются статическими файлами. обслуживается непосредственно веб-сервером. вы создаете эти файлы динамически с помощью действия контроллера? если да, вы должны иметь возможность просто добавить атрибут.
- person Andreas   schedule 13.08.2013
comment
Привет, Андреас. Да, все эти файлы статические. Что я хочу сделать, так это то, что когда сети не будет, я хочу показать свою домашнюю страницу с сообщением «Система вне сети».
- person Ramesh Joshi   schedule 13.08.2013
Ответы (1)
Вместо атрибута Output Cache вы можете использовать следующие методы для кэширования статических ресурсов:
1. Использование максимального возраста. Поместите ниже раздел в 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.Использование версий URL. Можно сделать в комплекте. Если вы используете MVC3, вы можете посмотреть combres на nuget. В MVC4 или выше это встроенная опция: Объединение и минификация< /а>
person
Piotr Stapp
schedule
13.08.2013
Привет, Гарат, я попытался с помощью staticContent добавить свой файл web.config, но снова не повезло.
- person Ramesh Joshi; 13.08.2013
Что именно вы пытаетесь сделать. Этот оператор web.config включает кэширование на стороне клиента.
- person Piotr Stapp; 13.08.2013
Привет @Garath: после добавления
combres
Nuget он начнет автоматически кэшировать изображения / css / js?
- person Imad Alazani; 13.08.2013
Нет. вам нужно будет определить пакеты
- person Piotr Stapp; 13.08.2013
Привет @Garath: я хочу кэшировать свою домашнюю страницу, и когда нет сетевого подключения, я все же хочу показать свою домашнюю страницу с сообщением «Система вне сети».
- person Ramesh Joshi; 14.08.2013
@Рамеш это невозможно. Если ваш сервер не работает, пользователю ничего не будет показано.
- person Piotr Stapp; 14.08.2013
@Garath: после добавления пакета Nuget для Combres. Можете ли вы сказать, где написать какой-либо код (если есть) для кэширования файлов изображений/Css/JavaScript. Пожалуйста ?
- person Imad Alazani; 15.08.2013
Посмотрите здесь codeproject. ком/Статьи/69484/
- person Piotr Stapp; 15.08.2013