如何在HttpRuntime.Cache中获取对象的大小?

Jon*_*ury 5 c# asp.net caching httpruntime.cache

我目前在ASP.NET HttpRuntime.Cache中存储了许多不同类型的对象,我想知道是否有办法弄清楚每个对象有多大?

ang*_*son 5

看看这些问题:

使用C#获取字段大小(以字节为单位)
找出.net对象的大小

特别是,在这些问题中寻找Jon Skeet的答案.他们会告诉你为什么这个号码不准确.

至于估算,除非您的对象满足某些标准,否则无法做到这一点.

例如,如果缓存中有许多对象,共享对某些公共对象实例的引用,则序列化缓存中的其中一个对象也会序列化这些公共对象的副本,从而使结果膨胀.