2008-11-28 29 views

risposta

5

un'occhiata a queste domande:

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

In particolare, cercare la risposta di Jon Skeet a quelle domande. Ti diranno perché il numero non sarà preciso.

Come per ottenere un preventivo, non c'è modo di farlo se non ci sono determinati criteri da soddisfare per il vostro oggetto.

Ad esempio, se nella cache sono presenti molti oggetti, i riferimenti di condivisione ad alcune istanze di oggetti comuni, la serializzazione di uno di quegli oggetti nella cache serializzerà una copia di tali oggetti comuni, gonfiando i risultati.

+0

Grazie - sembra che non ci sia un modo completamente preciso, ma potrebbe essere abbastanza buono per quello che sto cercando di fare. –

+0

@JonTackabury, che metodo hai usato? –

1

Una cosa che puoi fare è serializzare l'oggetto su un file su disco. Questo dovrebbe darti un'idea.

Questo cache manager da ASP Alliance potrebbe aiutare pure

+0

Ho provato lo strumento ASP Alliance e ottengo "I dati non possono essere serializzati in Xml" per la maggior parte degli oggetti a cui sono interessato ... Qualcuno ha codice di esempio per prelevare elementi arbitrari da 'HttpRuntime.Cache' e serializzarlo? –

Problemi correlati