Я использую кеш ASP.net в веб-проекте, и я пишу для него страницу статуса, которая показывает элементы в кеше и столько же статистики о кеше, сколько я могу найти. Есть ли способ получить общий размер (в байтах) кэшированных данных? Размер каждого элемента будет еще лучше. Я хочу показать это на веб-странице, поэтому я не думаю, что могу использовать счетчик производительности.
Как определить общий размер кэша ASP.Net?
Ответ 1
Я смотрю на свой монитор производительности и в категории ASP.NET Apps v2.0.50727. У меня есть следующие счетчики, связанные с кешем:
Используемый лимит памяти для кэша%
Используемый кэш-память%
В этой категории также есть много других связанных с кешем метрик.
Они должны иметь возможность получить процент, тогда, если вы можете получить общее количество, разрешенное с помощью Cache.EffectivePrivateBytesLimit
или другим вызовом, вы сможете это выяснить. У меня нет личного опыта работы с этими счетчиками, поэтому вам нужно будет провести некоторое исследование и тестирование, чтобы проверить.
Вот краткая статья о чтении из счетчиков производительности: http://quickstart.developerfusion.co.uk/quickstart/howto/doc/PCRead.aspx
Ответ 2
Не пробовал. Но, возможно, вы можете использовать плагин Cache Manager для ASP.NET. Или используйте его в качестве примера.