/// <summary> /// /// </summary> public void Dispose() { lock (this) { if (_orders != null) { _orders.UnInitialize(); _orders.Dispose(); _orders = null; } if (_adapter != null) { _adapter = null; } if (_core != null) { _desk = null; _core = null; } if (_messageLoopOperator != null) { _messageLoopOperator.Stop(); _messageLoopOperator.Dispose(); _messageLoopOperator = null; } ChangeOperationalState(OperationalStateEnum.Disposed); } //GC.Collect(); }
protected override bool OnStop(out string operationResultMessage) { operationResultMessage = string.Empty; // Stop the orders and data before dumping the manager. _orders.UnInitialize(); _data.UnInitialize(); DisposeManager(); base.StatusSynchronizationSource = null; StatusSynchronizationEnabled = false; ChangeOperationalState(OperationalStateEnum.NotOperational); return(true); }