我正在为某些Index视图使用输出缓存,因为它们包含大量数据。 我想保持每个用户的具体。因为视图可能因角色而异。
[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());
}
现在有人创建新项目并返回索引视图。如何删除索引页面的缓存,以便新创建的项目将显示在列表中?
我认为这是一个常见的问题,但我还没有找到解决方案。
我猜你需要使用HttpResponse.RemoveOutputCacheItem()
但是我如何找到路线。我在哪里可以看到调试器中当前的缓存项?
答案 0 :(得分:2)
您无法删除缓存的项目,因为它不在那里(即您没有在服务器上缓存它)。
当您说Location = OutputCacheLocation.Client
时,浏览器将缓存响应,并且当用户请求相同页面时,甚至不会向您的服务器发送新请求,除非缓存过期或用户明确要求提供最新请求通过点击F5。
答案 1 :(得分:1)