【发布时间】:2011-02-04 14:18:59
【问题描述】:
我正在为某些索引视图使用输出缓存,因为它们包含大量数据。 我想让它针对每个用户。因为视图可能因角色而异。
[OutputCache(Duration = 3600, VaryByParam = "none", Location = OutputCacheLocation.Client)]
public ActionResult Index(string schooljaarparam) {
return View(_db.Lesplaatsens.Where(l => l.Schooljaar.Sch_Schooljaar == schooljaarparam).OrderBy(q => q.Lpl_Gemeente).ThenBy(q => q.Lpl_Instelling).ToList());
}
现在当有人创建一个新项目并返回到索引视图时。如何移除Index页面的缓存,让新创建的item出现在列表中?
我认为这是一个常见问题,但我还没有找到解决方案。
我猜你需要使用HttpResponse.RemoveOutputCacheItem()
但我如何找到路线。在调试器中哪里可以看到当前缓存的项目?
【问题讨论】:
-
你要把这个放在你的控制器上吗?
-
不,这是我的索引操作。
-
索引操作 => 那么在你的控制器上呢?
-
不是打开,但是是的,我还能把这个放在哪里? :)
-
你也可以使用@output缓存的东西把它放在视图上。