3

我正在尝试跨 AppDomain 对象,发现一件很奇怪的事情。

当我调用一个远程方法时,它分配了一个 MemoryStream 对象并返回它的引用(并且由调用者立即释放),内存使用量显着增加并且没有下降,即使在调用 GC.Collect() 之后也是如此。

在每次返回 new String 或 byte[] 对象的调用方法上,没有泄漏。

内存分析器显示大多数活动对象的类型为 Char[] 和字符串(在 MemoryStream 的情况下)。

问题是——我是不是误会了什么,远程调用不像从 MarshalByRefObject 继承那么简单?

4

1 回答 1

3

远程调用同样简单——但对象生存期和垃圾收集并不那么简单。

您应该阅读一些关于租约和赞助的内容。

于 2011-09-04T20:59:19.523 回答