【发布时间】:2015-10-08 09:34:09
【问题描述】:
我已经在控制器的 Action 方法上实现了输出缓存
[OutputCache(Duration = 60, VaryByParam = "ID", VaryByHeader="User-Agent", Location = System.Web.UI.OutputCacheLocation.Server)]
public ActionResult MyAction(int ID)
{
_logger.Error("call-" + ID);
}
我已在此操作中进行了日志条目。所以,我的问题是使用 location=Server 的输出缓存每次都会调用此操作方法。它不应该每次都调用。
那么,这有什么问题呢?
当我更改缓存位置,即 location=Client 时,它仅在第一次调用该方法时。然后没有调用动作方法。
【问题讨论】:
-
你要等多久才能打第二个电话?
-
我设置了 Duration=60 秒,在第一次请求后,我在 4-5 秒后点击了,但它没有从缓存中检索。
-
而且每次请求都是同一个ID?
-
是的,每次都是同一个ID。
-
能看到action方法的定义吗?