我一直在考虑安装CacheCow(https://github.com/aliostad/CacheCow),只需应用nuget包然后添加:
GlobalConfiguration.Configuration.MessageHandlers.Add(new CacheCow.Server.CachingHandler(GlobalConfiguration.Configuration));
到我的全局配置文件。一旦我这样做,我的网格都不会正常刷新,它们都会缓存旧值,无论新数据是否可用。我用过标题:
[OutputCache(NoStore = true, Duration = 0, VaryByParam = "*")]
public JsonResult _GetProjectList([DataSourceRequest] DataSourceRequest request)
{
return Json(data.ToDataSourceResult(request, ModelState), JsonRequestBehavior.AllowGet);
}
顶部的outputcache,但似乎没有帮助。任何人都有使用cachecow和kendo数据源的经验,以及如何让它们相互协作?
答案 0 :(得分:0)
你可以试试这个解决方案。
[OutputCache(NoStore = true, Duration = 0, VaryByParam = "*")]
public JsonResult _GetProjectList([DataSourceRequest] DataSourceRequest request)
{
//force the response to not cache the results.
this.Response.Cache.SetCacheability(HttpCacheability.NoCache);
//some code here......
return Json(data.ToDataSourceResult(request, ModelState), JsonRequestBehavior.AllowGet);
}
前一段时间我不得不这样做,因为我注意到一些Kendo小部件没有正确更新他们的数据源。 (当我在浏览器的开发工具中关闭浏览器缓存时,他们确实更新了。)
虽然我还没有使用过这个特定的软件包,但希望这对你有用。