Beispiel #1
0
        public static RabbitMQChannelOptionsBuilder AddRequestReply(this RabbitMQChannelOptionsBuilder builder, AcknowledgeMode acknowledgeMode, ExceptionMode exceptionMode)
        {
            RequestReplyController controller = null;

            builder
            .DeclareQueue(queueBuilder => queueBuilder
                          .OnDeclare(queue => Task.Run(() => controller = new RequestReplyController(queue.Name)))
                          .Subscribe(acknowledgeMode, exceptionMode, delivery => controller.OnDelivery(delivery))
                          )
            .Map <RequestReplyModel>(model => {
                var context = controller.Request(model.SourceContent);

                model.Context = context;

                return(context.RequestContent);
            });

            return(builder);
        }
 public static RabbitMQChannelOptionsBuilder DeclareQueue(this RabbitMQChannelOptionsBuilder builder, Action <RabbitMQQueueOptionsBuilder> optionsAction)
 => builder.DeclareQueue(
     queue: "",
     optionsAction: optionsAction
     );