【问题标题】:Default duration of Cache.Insert in ASP.NETASP.NET 中 Cache.Insert 的默认持续时间
【发布时间】:2010-11-28 06:36:36
【问题描述】:

如果我有以下行,我应该预计缓存何时到期?

System.Web.HttpRuntime.Cache.Insert("someKey", "Test value");

【问题讨论】:

    标签: asp.net caching web-config


    【解决方案1】:

    “从不”,即一旦内存不足并且 ASP.NET 缓存认为它有更重要的东西要保留。

    【讨论】:

    • 重新启动运行网站的 iis/应用程序池是否会导致对象从缓存中删除?总之,iis/应用程序池和缓存之间有什么联系吗?
    • 是的,如果您的应用程序池或您的应用程序(BIN 文件夹或 web.config 中的更改)重新启动,您的所有缓存项都将消失,只要您不使用任何进程外缓存提供者。所以它实际上就是它的本来面目:缓存。不要将其用于其他任何事情。你永远不能对那里的东西做出假设(只有那些不应该在那里的东西)。
    【解决方案2】:

    这将插入没有明确过期设置的对象。这意味着对象不会自动从缓存中删除,除非运行时由于高内存使用率而决定从缓存中删除内容。

    调用这个重载和调用是一样的

    Cache.Insert(
      key, value,
      null,                     /*CacheDependency*/
      NoAbsoluteExpiration,     /*absoluteExpiration*/
      NoSlidingExpiration,      /*slidingExpiratioin*/
      CacheItemPriority.Normal, /*priority*/
      null                      /*onRemoveCallback*/
    );
    

    顺便说一句:您可以使用.NET reflector 查找此类内容。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-07-07
      • 1970-01-01
      • 2012-11-04
      • 1970-01-01
      • 2012-09-26
      • 1970-01-01
      • 2012-08-31
      相关资源
      最近更新 更多