【发布时间】:2014-11-12 22:29:01
【问题描述】:
我正在使用 Microsoft RedisOutputCacheProvider 并有一个非常简单的 PartialView,我通过 VaryByCustom 根据当前用户的 SessionId 缓存它:
[OutputCache(VaryByCustom = "User", Duration = 3600)]
[ChildActionOnly]
public ActionResult Notifications()
{
return PartialView("Partials/Notifications");
}
这很好用并且可以按预期进行缓存,但是我想从另一个页面手动使此 OutputCache 过期。我试过了:
Response.RemoveOutputCacheItem("/Controller/Notifications");
但这似乎不起作用。我也无法通过我的 Redis 存储或后端代码看到任何 OutputCache 键,但我绝对可以看到正在缓存的视图。
【问题讨论】:
-
@MarcGravell 谢谢!这在我的搜索中没有出现,因为我认为它与特定的 OutputCacheProvider 有关。明天我会试一试,不是 ChildOnly 行动对我来说并不是那么重要。
标签: c# caching redis outputcache stackexchange.redis