Hur gör man för att städa upp när lease-tiden för ett CAO-objekt går ut? Kan du inte tvinga GC´n då ? Jag har försökt med GC.Collect() men den verkar inte vilja... jag tror att objektet på något sätt ligger kvar. Prova med GC.WaitForPendingFinalizers(); Jag löste det genom att registrera en sponsor som bara kallade Dispose() på CAO-objektet! Fungerade finemang!Destruktor efter utgången lease-tid på ett CAO-objekt?
Jag har implementerat en vanlig destruktor i klassen, exempel:
public class MyClass : MarshalByRefObject
{
// .....
~MyClass
{
// Uppstädning
}
}
Men destruktorn kallas inte förrän servern avslutas. Jag är relativt säker på att jag har nullat alla referenser till objektet så jag förstår inte riktigt varför GC'n inte går inte och städar bort objektet heller.
Förslag?
/Mvh JonasSv: Destruktor efter utgången lease-tid på ett CAO-objekt?
Eller snarare tvinga programmet att vänta tills GC´n är klar med destructor anropet ?
Mvh
// MartinSv: Destruktor efter utgången lease-tid på ett CAO-objekt?
Problemet jag har är att CAO-objekten på servern representerar inloggade klienter, om någon av klienterna kraschar så måste CAO objektet själv städa upp efter sig.Sv: Destruktor efter utgången lease-tid på ett CAO-objekt?
Sv: Destruktor efter utgången lease-tid på ett CAO-objekt?