Я использую Microsoft RedisOutputCacheProvider и имеют очень простой PartialView, который я кэширование, основываясь на текущего пользователя SESSIONID через VaryByCustom
:Использование Response.RemoveOutputCacheItem с RedisOutputCacheProvider
[OutputCache(VaryByCustom = "User", Duration = 3600)]
[ChildActionOnly]
public ActionResult Notifications()
{
return PartialView("Partials/Notifications");
}
Это прекрасно работает и тайники, как и ожидалось , однако я хотел бы вручную истечь этот OutputCache с другой страницы. Я пробовал:
Response.RemoveOutputCacheItem("/Controller/Notifications");
Но это не работает. Я также не вижу ни одного из ключей OutputCache через мое хранилище Redis или через мой внутренний код, но я определенно могу видеть, что представление кэшируется.
Есть вы посмотрели: http://stackoverflow.com/questions/8968508/httpresponse-removeoutputcacheitem-is-not-working? –
@MarcGravell Спасибо! Это не оказалось в моем поиске, поскольку я думал, что это связано с конкретным OutputCacheProvider. Я дам это попробовать завтра, а не быть действием ChildOnly для меня не очень важно. – CodingIntrigue