public void Dispose() { if (Parent == null) { return; // disposed already } if (Context.DoNotReuse) { Context.Dispose(); return; } if (Context.AllocatedMemory > Parent._maxContextSizeToKeepInBytes) { Context.Dispose(); return; } if (Parent.LowMemoryFlag.IsRaised() && Context.PoolGeneration < Parent._generation) { // releasing all the contexts which were created before we got the low memory event Context.Dispose(); return; } Context.Reset(); // These contexts are reused, so we don't want to use LowerOrDie here. Context.InUse.Lower(); Context.InPoolSince = DateTime.UtcNow; Parent.Push(Context); Parent = null; Context = null; }
public void Dispose() { Context.Reset(); // These contexts are reused, so we don't want to use LowerOrDie here. Context.InUse.Lower(); Context.InPoolSince = DateTime.UtcNow; Parent.Push(Context); }
public void Dispose() { if (Parent == null) { return;// disposed already } if (Context.DoNotReuse) { Context.Dispose(); return; } Context.Reset(); // These contexts are reused, so we don't want to use LowerOrDie here. Context.InUse.Lower(); Context.InPoolSince = DateTime.UtcNow; Parent.Push(Context); Parent = null; Context = null; }