5

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

4

2 回答 2

5

看看这些问题:

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

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

至于获得估计,除非您的对象满足某些标准,否则没有办法做到这一点。

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

于 2008-11-28T21:14:05.850 回答
1

您可以做的一件事是将对象序列化为磁盘上的文件。那应该给你一个想法。

来自 ASP 联盟的这个缓存管理器也可能会有所帮助

于 2008-11-28T21:08:41.540 回答