1
我写了这个代码:.NET远程对象的生命周期
public class Message : MarshalByRefObject, IMessage
{
...
public override object InitializeLifetimeService()
{
ILease leas = (ILease) base.InitializeLifetimeService();
if (leas != null)
{
if(leas.CurrentState == LeaseState.Initial)
{
leas.InitialLeaseTime = TimeSpan.FromMilliseconds(2000);
leas.SponsorshipTimeout = TimeSpan.Zero;
leas.RenewOnCallTime = TimeSpan.Zero;
}
}
return leas;
}
}
是否InitializeLifetimeService受让人的覆盖是2秒后的对象是没有“垃圾收集”?我的意思是,独立的,如果这个实例是远程访问或不。
谢谢。
你问2秒后对象是不是GC'd?因为代码看起来像你希望它在那之后被收集。 (事件虽然你没有改变10秒轮询的默认值) – Menahem 2011-05-06 07:51:04
是的,我想在2秒后收集对象。我正在实施peer 2 peer模拟器,并且有一个消息在peer之间传播。我正在考虑分配超时后收集对象。我不知道这是否是最好的方法,但我没有看到另一种解决方法。 – aumanets 2011-05-06 11:52:33
我希望在2秒后收集对象,而且我不希望更新通话时间。该代码是否可以保证这种行为? – aumanets 2011-05-06 12:51:25