.net 从服务器端列表中删除断开连接的MarshalByRefObject

.net 从服务器端列表中删除断开连接的MarshalByRefObject,.net,collections,lifecycle,.net-remoting,marshalbyrefobject,.net,Collections,Lifecycle,.net Remoting,Marshalbyrefobject,在.Net远程处理中,如果创建远程对象的列表,那么如果远程端离开,并且您尝试访问其中一个列表项,则会出现异常 一切都很好,你可以试着抓住它,而不是世界末日 但是,如果尝试从列表中删除断开连接的MarshallByRefObject,则会出现另一个异常,因为List.remove()使用Object.Equals(),无法清除列表 这是应该用某种本地包装器来解决的,还是有一种更干净的方法?我们实现的解决方案确实是在本地包装/组合MarshalByRefObject,以便正确地清理列表。代理设计模式

在.Net远程处理中,如果创建远程对象的列表,那么如果远程端离开,并且您尝试访问其中一个列表项,则会出现异常

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

但是,如果尝试从
列表中删除断开连接的
MarshallByRefObject
,则会出现另一个异常,因为
List.remove()
使用
Object.Equals()
,无法清除列表


这是应该用某种本地包装器来解决的,还是有一种更干净的方法?

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

我们实现的解决方案实际上是在本地包装/组合MarshallByRefObject,以便正确清理列表。代理设计模式是最干净的方式