Beispiel #1
0
        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);
        }