我目前在ASP.NET HttpRuntime.Cache中存储了许多不同类型的对象,我想知道是否有办法弄清楚每个对象有多大?
看看这些问题:
使用C#获取字段大小(以字节为单位) 找出.net对象的大小
特别是,在这些问题中寻找Jon Skeet的答案.他们会告诉你为什么这个号码不准确.
至于估算,除非您的对象满足某些标准,否则无法做到这一点.
例如,如果缓存中有许多对象,共享对某些公共对象实例的引用,则序列化缓存中的其中一个对象也会序列化这些公共对象的副本,从而使结果膨胀.