HttpRuntime.Cache очистить поведение по умолчанию? - PullRequest
0 голосов
/ 28 апреля 2010

При добавлении элементов с использованием метода вставки по умолчанию Insert (ключ, значение) и, соответственно, с использованием поведения по умолчанию HttpRuntime.Cache, когда происходит очистка?

Ограничение на пул приложений, в котором размещено мое приложение, равно 0 (неограниченно) ... но я не вижу способа узнать, насколько большим может стать кэш-память до того, как произойдет очистка? Проблема в том, что я кеширую потенциально очень большой объем данных, но у меня ограниченная память на сервере, и я хочу избежать повторного использования пула приложений.

Я спрашиваю в контексте IIS6 и IIS7.

Спасибо.

1 Ответ

0 голосов
/ 05 мая 2010

Короткий ответ: кэш начинает очищаться на Cache.EffectivePrivateBytesLimit .

Предел по умолчанию рассчитывается с использованием ряда факторов и, как правило, должен удерживать ваш процесс от чрезмерной переработки. В идеале, приложение не будет затронуто повторным использованием, но я понимаю, что есть много причин, почему это не всегда возможно. При необходимости вы можете установить ограничения памяти для кэша в соответствии с настройками перезапуска пула приложений.

Томас Марквардт из команды asp.net написал очень интересный пост, объясняющий детали .

...