Я хотел бы кэшировать свои самые тяжелые действия с базой данных на моем сайте asp.net-mvc. В своем исследовании я обнаружил
- кеширование пончиков в блоге Фила
- Кеширование / сжатие фильтров в блоге Кази
- Подкаст Скотта Ханслемана о том, как они кешируют вещи в SO.
Но я еще не чувствую, что понимаю.
Я хочу иметь возможность кэшировать свой запрос POST в зависимости от нескольких частей. Эти части находятся в объекте. Поэтому я хотел бы кешировать результат следующего запроса:
public ActionResult AdvancedSearch(SearchBag searchBag)
Где searchBag - это объект, содержащий (набор) необязательных параметров поиска. Сами мои представления невелики (как и должно быть), но доступ к данным может занять довольно много времени, в зависимости от того, какие поля заполнены в сумке поиска.
У меня такое чувство, что я должен кэшировать свой уровень данных, а не свои действия.
Как я должен использовать VaryByParam в атрибуте OutputCache?