Вопрос

Есть ли какой-нибудь способ определить количество байтов памяти, которые в данный момент находятся в HttpContext.Кэш?

Я нашел, где вы можете получить ограничение физической памяти, используя EffectivePrivateBytesLimit или EffectivePercentagePhysicalMemoryLimit , но у меня возникают трудности с поиском текущего использования физической памяти.

Есть какие - нибудь идеи ?

---ОБНОВЛЕНИЕ---

После еще нескольких поисков и использования первого ответа с упоминанием http://aspalliance.com/cachemanager/ я зашел на эту страницу, внизу есть ссылка на http://www.codeproject.com/aspnet/exploresessionandcache.asp это описывает метод вычисления размера объекта, который, я думаю, будет достаточно хорош для использования.

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

Это было полезно?

Решение

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top