Настройка ASP.Net кеша PrivateBytesLimit в сервисе C # - PullRequest
3 голосов
/ 21 января 2009

У меня есть служба C #, которая не является приложением ASP.NET, но использует одноэлементный экземпляр класса HttpRuntime для кэширования элементов в своем элементе кэша. Синглтон создан так:

static private System.Web.HttpRuntime _httpRuntime = new HttpRuntime();

Я хочу установить максимальное использование памяти, поэтому в конфигурационном файле приложения service.exe.config у меня есть следующее:

<configuration>
 <caching>
    <cache privateBytesLimit= "50000000"   privateBytesPollTime = "00:01:00"/>
 </caching>
</configuration>

Это, похоже, не имеет никакого эффекта. Вместо установки 50 МБ, когда я смотрю в HttpRuntime.Cache.EffectivePrivateBytesLimit, оно составляет 720 МБ.

Что я делаю не так?

1 Ответ

4 голосов
/ 21 января 2009

Вы не используете правильный элемент кэша. Согласно документации, свойство EffectivePrivateBytesLimit можно установить с помощью атрибута privateBytesLimit элемента Элемент кэширования для кэширования (схема настроек ASP.NET) в файле конфигурации приложения;

<configuration>
  <system.web>
    <caching>
      <cache privateBytesLimit="10000000" privateBytesPollTime="00:01:00" />
    </caching>
  </system.web>
</configuration>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...