Ответ 1
Вы можете указать максимальный объем физической памяти, выделенный для MemoryCache
в конфигурационном файле приложения, используя элемент namedCaches, или передав параметр, когда вы создайте экземпляр MemoryCache
через NameValueCollection
, переданный в конструктор , поместив запись в коллекцию с ключом cacheMemoryLimitMegabytes и значение 10
.
Ниже приведен пример элемента конфигурации namedCaches
:
<configuration>
<system.runtime.caching>
<memoryCache>
<namedCaches>
<add name="Default"
cacheMemoryLimitMegabytes="10"
physicalMemoryLimitPercentage="0"
pollingInterval="00:05:00" />
</namedCaches>
</memoryCache>
</system.runtime.caching>
</configuration>
И вот как вы можете настроить MemoryCache
во время создания:
//Create a name / value pair for properties
var config = new NameValueCollection();
config.Add("pollingInterval", "00:05:00");
config.Add("physicalMemoryLimitPercentage", "0");
config.Add("cacheMemoryLimitMegabytes", "10");
//instantiate cache
var cache = new MemoryCache("CustomCache", config);
В этом сообщении в блоге подробно описываются все способы настройки объекта MemoryCache
, и некоторые примеры были адаптированы из этого источника.