Я написал этот код:.NET Lifetime объекта Remoting
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 секунды объект не «мусор»? Я имею в виду, независимо от того, был ли этот экземпляр удален удален или нет.
спасибо.
вы спрашиваете, не будет ли объект GC'd через 2 секунды? потому что код выглядит так, как вы ХОТИТЕ его собирать после этого. (событие, хотя вы не изменили 10-секундный опрос по умолчанию) – Menahem
Да, я хочу, чтобы объект был собран через 2 секунды. Я реализую одноранговый симулятор одноранговой сети, и есть сообщение, циркулирующее между сверстниками. Я думал назначить тайм-аут, после которого объект будет собран. Я не знаю, это лучший способ сделать это, но я не вижу другого способа решить эту проблему. – aumanets
Я хочу, чтобы объект был собран через 2 секунды, и я не хочу продлевать время жизни по вызову. Этот код гарантирует такое поведение? – aumanets