protected virtual void Dispose(Boolean disposing) { if (disposed) { return; } if (logger != null) { logger.Dispose(); } context.Dispose(); context = null; logger = null; disposed = true; }