I would like to cache my most database heavy actions in my asp.net-mvc site. In my research I have found
- donut caching on Phil's blog
- Caching/compressing filters on Kazi's blog
- Scott Hansleman's podcast about how they cached things in SO.
But I don't feel I get it yet.
I want to be able to cache my POST request depending on several pars. These pars are in an object. So I would like to cache the result of the following request:
public ActionResult AdvancedSearch(SearchBag searchBag)
Where searchBag is an object that holds (a bunch) of optional search parameters. My views themselves are light (as they should be), but the data access can be rather time consuming, depending on what fields are filled in in the search bag.
I have the feeling I should be caching on my datalayer, rather then on my actions.
How am I supposed to use the VaryByParam in the OutputCache attribute?