我写了一段类似于本文中示例的代码:
.NET Remoting callback
(将回调对象传递给远程方法).
如我所知,如果我不重写MarshalByRefObject.InitializeLifetimeService()
一段时间后,服务器无法调用回调.
所以我重写了它以返回null(无限期),并且它可以正常工作.
但是现在我有点担心垃圾收集器:
>这样的对象会像往常一样由GC收集,还是因为它已被远程控制而保持活动状态?
>我找到了这种方法:RemotingServices.Disconnect()
如果在回调对象上调用它,是否可以保证生命周期策略不相关并且将被垃圾回收?
如果我做对了,我希望得到专家意见.
谢谢,
吉尔
PS.我正在.NET 2.0的约束下工作,因此尽管正确,但切换到WCF的建议无关紧要.