2008-12-05 11 views
13

Sto utilizzando la cache ASP.net in un progetto Web e sto scrivendo una pagina di "stato" per essa che mostra gli elementi nella cache e altrettante statistiche sulla cache che riesco a trovare. C'è un modo per ottenere la dimensione totale (in byte) dei dati memorizzati nella cache? La dimensione di ogni oggetto sarebbe ancora migliore. Voglio mostrarlo su una pagina web, quindi non penso di poter usare un contatore delle prestazioni.Come determinare la dimensione totale della cache ASP.Net?

risposta

16

sto guardando il mio monitor delle prestazioni e alle ASP.NET Apps v2.0.50727 categoria ho i seguenti contatori relativi cache:

Cache Limite di memoria% macchina utilizzata

Cache % Limite di memoria processo utilizzato

Ci sono anche molte altre metriche relative alla cache in questa categoria.

Questi dovrebbero essere in grado di ottenere la percentuale, quindi se è possibile ottenere il totale consentito con Cache.EffectivePrivateBytesLimit o qualche altra chiamata si dovrebbe essere in grado di capirlo. Non ho esperienza personale con questi contatori quindi dovrai fare qualche ricerca e test per verificare.

Ecco un articolo di avvio rapido sulla lettura da contatori delle prestazioni: http://quickstart.developerfusion.co.uk/quickstart/howto/doc/PCRead.aspx

+3

PerformanceCounter pc = nuovo PerformanceCounter ("Applicazioni ASP.NET", "Cache% limite di memoria macchina utilizzato", vero); pc.InstanceName = "__TOTAL__"; CacheMachineMemoryLimitUsedLiteral.Text = string.Format ("{0: 0.00}%" , pc.NextValue()); –

+1

Nota, a causa di Markdown, il codice di Mike dovrebbe avere due caratteri di sottolineatura all'inizio e alla fine di "__TOTAL__" – Spongeboy

+0

markdown nei commenti sono lo stesso che esiste nei messaggi, basta aggiungere il 'prima e dopo il codice da utilizzare come" codice "... per questo esempio:' pc.InstanceName = "__Totale __"; 'può essere letto da [MSDN] (http : //msdn.microsoft.com/en-us/library/fxk122b4 (v = VS.100) aspx) – balexandre

0

Non ho provato. Ma forse puoi usare Cache Manager plug-in for ASP.NET. O usalo come esempio.

+4

Questo sito ferire i miei occhi: P –

+0

Questo link è morto e non sono riuscito a trovare l'articolo sul sito di ASP Alleanza :( – MikeJ

Problemi correlati