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);
}

c#在mvc项目中使用OutputCache

你可以调用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的缓存结果。