How to remove OutputCache on ChildAction?
asp.net-mvc, asp.net-mvc-3, outputcache
Solution
Have you tried using the VaryBy properties such as VaryByParam or VaryByCustom
Problem
I am trying to take advantage of the donut caching features in .Net MVC 3. For my Home page, in my home controller, I have: ``` public ActionResult Index() { return View(); } [ChildActionOnly] [OutputCache(Duration=3600)] public ActionResult IndexMain() { return PartialView(ViewModelRepository.GetIndexViewModel()); } ``` I my view, I have: ``` <% Html.RenderAction("IndexMain");%> ``` This all works fine. However, when the data changes, I run: ``` var urlToRemove = Url.Action("IndexMain", "Home"); Response.RemoveOutputCacheItem(urlToRemove); ``` The RemoveOutputCacheItem executes without an error, but the ChildAction cache is not invalidated. Is there a way to programmatically remove a cache item from a ChildAction?