private void CloseSender() { if (_messageSender == null) { return; } if (_messageSender.IsClosed) { _messageSender = null; return; } try { _messageSender .CloseAsync() .ContinueWith(task => { var ex = task.Exception; if (ex != null) { InternalLogger.Error("Exception closing MessageSender [{0}]", ex); } _messageSender = null; }); } catch (Exception ex) { InternalLogger.Error("Couldn't close MessageSender [{0}]", ex); } }