public void Send(TransportMessage message, Address address) { if (eventSourcedUnitOfWork.IsInitialized) { eventSourcedUnitOfWork.Publish(message.ToIndirectCommandEventData(address)); } if (Transaction.Current != null) { transactionalUnitOfWork.Send(message.ToIndirectCommandEventData(address)); } else { connectionManager.GetConnection() .AppendToStream(address.GetReceiveAddressFrom(EndpointAddress), ExpectedVersion.Any, message.ToDirectCommandEventData(address)); } }