测量.NET对象的大小

时间:2012-04-03 22:41:14

标签: c# asp.net caching .net-4.0

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

1 个答案:

答案 0 :(得分:6)

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

What is the default serialization used by the ASP.net HttpRuntime.Cache

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

How to get object size in memory?

https://stackoverflow.com/a/1128674/141172

无法直接知道.NET对象消耗的字节数:

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