0

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

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

因此,我想说最大内存使用量 = 300mb 或其他东西,而不是项目数。

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

4

1 回答 1

0

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

正如詹姆斯冈特指出的那样,我已经替换了它并设置了限制。

下面是 app.config 执行此操作的 XML。

  <system.runtime.caching>
    <memoryCache>
      <namedCaches>
        <add name="Default"
             cacheMemoryLimitMegabytes="200"
             physicalMemoryLimitPercentage="20"
             pollingInterval="00:05:01" />
      </namedCaches>
    </memoryCache>
  </system.runtime.caching>
于 2013-03-15T14:45:09.243 回答