2

在 .Net 远程处理中,如果创建了一个远程对象列表,那么如果远程端离开并且您尝试访问其中一个列表项,您将获得异常。

一切都很好,你可以尝试抓住它,而不是世界末日。

但是,如果您尝试MarshalByRefObject从 a中删除断开连接,则会出现List<MarshalByRefObject>另一个异常,因为List.Remove()使用Object.Equals()并且无法清理列表。

是否应该使用对象的某种本地包装器来解决这个问题,MarshalByRefObject还是有更清洁的方法?

4

1 回答 1

0

我们实施的解决方案确实是在本地包装/组合 MarshalByRefObject,以便可以正确清除列表。代理设计模式是最干净的方式!

于 2013-10-22T18:24:28.163 回答