Как я могу получить размер объекта в HttpRuntime.Cache? - PullRequest
5 голосов
/ 28 ноября 2008

В настоящее время я храню много разных типов объектов в ASP.NET HttpRuntime.Cache, и мне было интересно, есть ли способ выяснить, насколько велик каждый объект?

Ответы [ 2 ]

5 голосов
/ 29 ноября 2008

Посмотрите на эти вопросы:

Получение размера поля в байтах с помощью C #
Узнать размер объекта .net

В частности, ищите ответ Джона Скита в этих вопросах. Они скажут вам, почему число не будет точным.

Что касается получения оценки, то нет способа сделать это, если нет определенных критериев, которые должны быть выполнены для вашего объекта.

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

1 голос
/ 29 ноября 2008

Одна вещь, которую вы можете сделать, это сериализовать объект в файл на диске. Это должно дать вам представление.

Этот менеджер кэша от ASP Alliance также может помочь

...