ASP.NET页面方法中的滑动过期缓存

时间:2011-03-05 17:12:15

标签: c# asp.net web-services caching pagemethods

我知道在ASP.NET中声明页面方法时,我可以像这样指定CacheDuration

[WebMethod(CacheDuration=60)]
public static void Foo()
{
    //TODO Bar
}  

但据我所知,CacheDuration仅支持绝对过期。我希望滑动过期。所以这让我相信我需要以某种方式访问​​System.Web.Caching.Cache对象。但是,由于页面方法是静态的,而且本质上是一个独立的Web服务,我不确定如何静态访问它。我在Google上看到的唯一方法依赖于从HttpContext获取它。但是,我这里没有HttpContext,对吗?

或者,我是否需要使用System.Runtime.Caching.MemoryCache来进行自己的缓存?

非常感谢。

1 个答案:

答案 0 :(得分:1)

您可以访问

System.Web.HttpContext.Current.Cache

来自您的页面方法。