我正在使用MCV3 OutputCache来减少包含数据表的页面的加载时间。我使用ajax方法更新信息并操纵DOM以向用户显示他们的更改已成功。这样就可以了,直到它们加载页面并加载缓存的数据集而不是更新的数据集。
当调用Update方法时,我想清除缓存或将其删除,以便在重新加载页面时使用新的更新数据重新创建缓存。
我的代码如下:
[OutputCache(CacheProfile = "VideoIndexView")]
public ActionResult Index()
{
...
return View(model);
}
答案 0 :(得分:1)
如果要从缓存中清除某个网址,可以调用RemoveOutputCacheItem静态方法。
答案 1 :(得分:0)
您可以使用Index
操作结果加载屏幕模板,并使用AJAX获取并加载实际数据。
[OutputCache(CacheProfile = "VideoIndexView")]
public ActionResult Index()
{
...
return View(model); // Really only return a model that is okay to be cached
}
public ActionResult LoadData ()
{
var Result = // Load the data
...
return Json(Result); // Don't forget to allow GET here if you're using HTTPGET
}
// Or...
public ActionResult LoadData ()
{
var Result = // Load the data
...
return PartialView (Result);
}
这样,Index
可以很好地缓存,并且在将页面提供给用户之后将加载数据并将其注入页面。如果您打算使用类似jQuery的东西,请确保在使用GET时告诉它不要使用缓存结果。