public RpcServerHostedService(
     IRpcConsumer rpcConsumer,
     IServiceScopeFactory serviceScopeFactory)
 {
     _rpcConsumer         = rpcConsumer;
     _serviceScopeFactory = serviceScopeFactory;
 }
示例#2
0
        protected RpcPublisherBase(IModel model, string busId, RpcPublisherConfigurator configuration, IMessageHelper messageHelper, ISendHelper sendHelper, IRpcConsumer consumer)
            : base(model, busId, configuration, messageHelper, sendHelper)
        {
            _consumer = consumer;

            const string fastReplyQueue = "amq.rabbitmq.reply-to";

            if (configuration.UseFastReply)
            {
                _consumerTag = model.BasicConsume(fastReplyQueue, true, configuration.ConsumerTag, consumer);

                _replyTo = fastReplyQueue;
            }
            else
            {
                QueueDeclareOk queueDeclare = model.QueueDeclare("", false, true, true, new Dictionary <string, object>());

                if (string.IsNullOrEmpty(configuration.ReplyExchange))
                {
                    // Use default exchange, no need to bind queue

                    _replyTo = queueDeclare.QueueName;
                }
                else
                {
                    // Bind queue to specified exchange by replyTo or generate unique routing key
                    string routingKey = configuration.ReplyTo ?? NewMiniGuid();

                    model.QueueBind(queueDeclare.QueueName, configuration.ReplyExchange, routingKey);

                    _replyTo = routingKey;
                }

                _consumerTag = model.BasicConsume(queueDeclare.QueueName, true, configuration.ConsumerTag, consumer);
            }
        }
示例#3
0
 public RpcSyncPublisher(IModel model, string busId, RpcPublisherConfigurator configuration, IMessageHelper messageHelper, ISendHelper sendHelper, IRpcConsumer consumer)
     : base(model, busId, configuration, messageHelper, sendHelper, consumer)
 {
 }
示例#4
0
        public RpcPublisher(IModel model, string busId, PublisherConfigurator configuration, IMessageHelper messageHelper, ISendHelper sendHelper, IRpcConsumer consumer) : base(model, busId, configuration, messageHelper, sendHelper)
        {
            _consumer = consumer;

            model.BasicConsume(Queue, true, consumer);
        }