private Task CreateConnections(IConnectionFactory factory) { try { ReadConnection = factory.CreateConnection(); WriteConnection = factory.CreateConnection(); } catch (Exception e) { return(Task.FromException(e)); } PublishChannel = WriteConnection.CreateModel(); PublishChannel.ExchangeDeclare(Group, "direct"); var rpcModel = GetOrCreateChannel("RPC"); RPCQueueName = rpcModel.QueueDeclare().QueueName; rpcModel.QueueBind(RPCQueueName, Group, RPCQueueName); RPCConsumer = new EventingBasicConsumer(rpcModel); rpcModel.BasicConsume(RPCQueueName, AutoAck, RPCConsumer); return(Task.CompletedTask); }