c#在mvc项目中使用OutputCache
本文关键字:OutputCache 项目 mvc | 更新日期: 2023-09-27 18:17:59
我正在使用MCV3 OutputCache来减少具有完整数据表的页面的加载时间。我使用ajax方法来更新信息和操作DOM,以向用户显示他们的更改已经成功。这是好的,直到他们加载页面和缓存的数据集,而不是更新的数据集加载。
当调用an Update方法时,我希望清除缓存或删除它,以便在重新加载页面时使用新更新的数据重新创建它。
我的代码如下:[OutputCache(CacheProfile = "VideoIndexView")]
public ActionResult Index()
{
...
return View(model);
}
你可以调用RemoveOutputCacheItem静态方法当你想从缓存中清除一些url
您可以使用您的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的缓存结果。