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