2008-11-28 27 views

Respuesta

5

mirada a estas preguntas:

Getting the size of a field in bytes with C#
Find out the size of a .net object

En particular, busque la respuesta de Jon Skeet en esas cuestiones. Ellos le dirán por qué el número no será exacto.

En cuanto a obtener un presupuesto, no hay forma de hacerlo a menos que haya ciertos criterios que cumplir para su objeto.

Por ejemplo, si tiene muchos objetos en la memoria caché, compartiendo referencias a algunas instancias de objetos comunes, la serialización de uno de esos objetos en la memoria también serializará una copia de esos objetos comunes, inflando los resultados.

+0

Gracias - parece que no hay una forma completamente precisa, pero podría ser lo suficientemente bueno para lo que estoy tratando de hacer. –

+0

@JonTackabury, ¿con qué método fuiste? –

1

Una cosa que puede hacer es serializar el objeto a un archivo en el disco. Eso debería darte una idea.

Este cache manager desde ASP Alianza podría ayudar también

+0

Probé la herramienta Alianza de ASP y me aparece "No se pudieron serializar los datos en Xml" para la mayoría de los objetos que me interesan ... ¿Alguien tiene código de muestra para tomar cosas arbitrarias de 'HttpRuntime.Cache' y serializarlo? –

Cuestiones relacionadas