Можно ли найти все методы Action на всех контроллерах, которые были отмечены [OutputCache]
, чтобы я мог затем перечислить их, чтобы удалить selected
элементов из кэша за один раз?
foreach(var .. in ...)
{
//get ActionName
//get ControllerName
HttpResponse.RemoveOutputCacheItem(Url.Action(ActionName, ControllerName));
}
Согласно этому сообщению невозможно аннулировать кэш за один раз.
Редактировать Похоже, я могу сделать недействительным ALL
кеш, просто сделав это: -
public ActionResult Invalidate()
{
OutputCacheAttribute.ChildActionCache = new MemoryCache("NewDefault");
return View();
}
См. сообщение для получения дополнительной информации. Однако было бы неплохо аннулировать части кэша в зависимости, скажем, от имени контроллера и т. Д.