【问题标题】:Problem Using the System.Web.Caching.Cache Class in ASP.NET在 ASP.NET 中使用 System.Web.Caching.Cache 类的问题
【发布时间】:2010-10-06 13:42:59
【问题描述】:

所以我正在开发一个使用 ASP.NET 的项目。我正在尝试调用 Cache["key"] 但编译器抱怨 System.Web.Caching.Cache 如何“此时 nat 有效”。

如果我调用 Cache obj = new Cache(); obj 始终为 null。

我可以访问 HttpContext.Current.Cache - 但这不允许我在 Insert() 方法中指定绝对过期和滑动过期。

有人可以帮我吗?

【问题讨论】:

    标签: asp.net caching


    【解决方案1】:

    您应该能够在 HttpRuntime.Cache 上调用插入的绝对或滑动到期。它有几个重载。例如:

    HttpRuntime.Cache.Insert("EXAMPLE_KEY", 
                            exampleItem, 
                            Nothing,                           
                            DateTime.Now.AddHours(1),
                            System.Web.Caching.Cache.NoSlidingExpiration);
    

    完全相同的代码也应该适用于 HttpContext.Current.Cache。

    【讨论】:

    • 不能有绝对到期和滑动到期吗?似乎是其中之一。
    • 我不确定这将如何运作,这两种到期形式肯定会在某些时候相互矛盾。出于这个原因,它是不允许的。应该提供一个值,另一个应该是 System.Web.Caching.Cache.NoSlidingExpiration 和 System.Web.Caching.Cache.NoAbsoluteExpiration。
    • 根据this,使用 HttpContext.Current.Cache 代替 HttpRuntime.Cache 并没有真正的好处,因此您发布的代码示例应该就足够了。
    【解决方案2】:

    我建议你尝试PokeIn 库下的 PCache 类。即使您使用该库的免费版,这个类也没有限制。与 ASP.NET Cache 类相比,它具有更多功能,您不必处理这些问题。网站上有一个简单的示例项目。

    【讨论】:

      猜你喜欢
      • 2021-02-06
      • 2010-10-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-01-22
      • 1970-01-01
      • 1970-01-01
      • 2011-07-10
      相关资源
      最近更新 更多