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