在 ASP.NET 页面方法中使用滑动过期进行缓存

发布于 2024-10-20 08:19:11 字数 503 浏览 1 评论 0原文

我知道在 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 来进行自己的缓存?

非常感谢。

I know that when declaring a page method in ASP.NET, I can specify a CacheDuration like so:

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

But from what I understand, CacheDuration only supports absolute expiration. I want to have sliding expiration. So that leads me to believe that I need to access the System.Web.Caching.Cache object somehow. But, since page methods are static, and this is essentially a standalone web service, I'm not sure how to access it statically. The only ways I have seen on Google rely on getting it from the HttpContext. But, there is no HttpContext available to me here, right?

Or, do I need to use the System.Runtime.Caching.MemoryCache to do my own caching?

Much thanks.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

所谓喜欢 2024-10-27 08:19:11

您可以从您的页面方法访问

System.Web.HttpContext.Current.Cache

you can access

System.Web.HttpContext.Current.Cache

from your page method.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文