测量.NET对象的大小

ama*_*eur 2 c# asp.net caching .net-4.0

我正在用.NET 4.0 C#编写一个应用程序.我将对象放在.net httpruntime缓存中,并希望在其上生成一些统计信息.我想知道对象在放入缓存之前的大小以及它在缓存中的大小.我该怎么测量呢?它是否在放入缓存时被序列化,如果是,那么使用什么类型的序列化?

Eri*_* J. 6

HTTP运行时缓存根本不会对数据进行序列化,只是将其放在哈希表中:

ASP.net HttpRuntime.Cache使用的默认序列化是什么

有几种方法可以获取或估计内存中.NET对象的大小:

如何在内存中获取对象大小?

/sf/answers/79007211/

直接知道.NET对象消耗的字节数是不可能的:

http://blogs.msdn.com/b/cbrumme/archive/2003/04/15/51326.aspx