【问题标题】:Caching Application Block缓存应用程序块
【发布时间】:2013-03-15 22:45:09
【问题描述】:

我正在将 Microsoft Caching 应用程序块添加到 c# 项目中。 无论如何设置应用程序块将使用的最大内存使用量。

我知道我可以在缓存等中设置maximumElementsInCacheBeforeScavengings...但是我事先不知道每个项目的大小。

因此,我想说最大内存使用量 = 300mb 之类的,而不是项目数。

该应用程序是在具有小内存安装 (2GB) 或更少的 PC 上运行的 C# WPF 应用程序。我想在内存中缓存数据,但显然我需要确保缓存不会开始完全占用 2GB。

【问题讨论】:

  • In 2011, they said: "缓存应用程序块功能内置于 .NET Framework 4.0;因此企业库缓存应用程序块将在 5.0 之后的版本中被弃用。您应该考虑使用 .NET 4.0 System.Runtime.Caching 类,而不是未来开发中的缓存应用程序块。” -> System.Runtime.Caching.
  • 好问题。我想听听答案。
  • @JamesGaunt 你想提交你的评论作为答案,我会接受吗?

标签: c# .net


【解决方案1】:

这似乎无法通过缓存应用程序块来完成。 但是正如 CodeCaster 指出的那样,无论如何我都应该使用 System.Runtime.Caching 类。

正如 James Gaunt 指出的那样,我已经替换了它并设置了 Limit。

下面是 app.config 的 XML 文件。

  <system.runtime.caching>
    <memoryCache>
      <namedCaches>
        <add name="Default"
             cacheMemoryLimitMegabytes="200"
             physicalMemoryLimitPercentage="20"
             pollingInterval="00:05:01" />
      </namedCaches>
    </memoryCache>
  </system.runtime.caching>

【讨论】:

    猜你喜欢
    • 2010-09-16
    • 2011-11-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-01-02
    • 2017-08-17
    • 2012-03-26
    • 2018-06-07
    相关资源
    最近更新 更多