缓存无法在客户端上运行JSON响应

时间:2012-03-30 17:17:55

标签: asp.net-mvc json caching

我有一个返回复杂JSON对象的方法。这是一个繁重的处理方法,我试图将它存储在缓存中并保留在那里,直到对它的对象进行修改。

[HttpPost]
[OutputCache(Duration=50, Location = OutputCacheLocation.Client, VaryByParam="none", NoStore = false)]
        public ActionResult CacheTest()
        {
            //retrieves data from database
            var data = DBContext.GetUserLog();

            return Json(new { userLog = data});
        }

设置Location = OutputCacheLocation.ClientVaryByParam = 'none'无效。如果我设置Location = OutputCacheLocation.ServerAndClient,则响应被正确缓存。

OutputCache没有在客户端存储JSON信息的任何原因?

1 个答案:

答案 0 :(得分:2)

IIRC POST请求未缓存在客户端上。当您在服务器上修改您似乎没有做的状态时,将使用此动词。如果要从服务器返回一些值而不修改状态,请改用GET。