我正在使用 Microsoft RedisOutputCacheProvider并有一个非常简单的 PartialView,我通过以下方式根据当前用户的SessionId进行缓存VaryByCustom
:
[OutputCache(VaryByCustom = "User", Duration = 3600)]
[ChildActionOnly]
public ActionResult Notifications()
{
return PartialView("Partials/Notifications");
}
这很好用并且可以按预期进行缓存,但是我想从另一个页面手动使此 OutputCache 过期。我试过了:
Response.RemoveOutputCacheItem("/Controller/Notifications");
但这似乎不起作用。我也无法通过我的 Redis 存储或后端代码看到任何 OutputCache 键,但我绝对可以看到正在缓存的视图。