呼叫
http://foo/home/cachetest
为
[UrlRoute(Path = "home/cachetest")]
[OutputCache(Duration = 10, VaryByParam = "none")]
public ActionResult CacheTest()
{
return Content(DateTime.Now.ToString());
}
将显示相同的内容,每10秒,无论我多久刷新页面。
是否可以轻松地添加滑动过期,以便在10秒后不会改变,以防我刷新了页面?
3条答案
按热度按时间v8wbuo2f1#
你可以创建一个自定义的缓存过滤器,而不是默认的OutputCache过滤器。像下面这样,注意滑动过期可以在这里设置。注意,我没有使用这个滑动过期,但对其他事情很好。
mfpqipee2#
一直在阅读
OutputCacheAttribute
的源代码,我不认为有一个简单的方法来做到这一点。您很可能需要创建自己的解决方案。
ebdffaop3#
你不能。Cache类的内部计时器每20秒旋转一次。我建议你尝试PokeIn库下的PCache类。你可以在上面设置为6秒。而且,PCache比.NET缓存类快得多。