Пример #1
0
        /// <summary>
        /// Configures (declares) the production (publishing for pub/sub or request sending in request/response) of a message
        /// </summary>
        /// <param name="messageType">Type of the message</param>
        /// <param name="producerBuilder"></param>
        /// <returns></returns>
        public MessageBusBuilder Produce(Type messageType, Action <ProducerBuilder <object> > producerBuilder)
        {
            var item = new ProducerSettings();

            producerBuilder(new ProducerBuilder <object>(item, messageType));
            Settings.Producers.Add(item);
            return(this);
        }
Пример #2
0
        /// <summary>
        /// Configures (declares) the production (publishing for pub/sub or request sending in request/response) of a message
        /// </summary>
        /// <typeparam name="T">Type of the message</typeparam>
        /// <param name="producerBuilder"></param>
        /// <returns></returns>
        public MessageBusBuilder Produce <T>(Action <ProducerBuilder <T> > producerBuilder)
        {
            var item = new ProducerSettings();

            producerBuilder(new ProducerBuilder <T>(item));
            Settings.Producers.Add(item);
            return(this);
        }
Пример #3
0
        /// <summary>
        /// Configures (declares) the production (publishing for pub/sub or request sending in request/response) of a message
        /// </summary>
        /// <param name="messageType">Type of the message</param>
        /// <param name="producerBuilder"></param>
        /// <returns></returns>
        public MessageBusBuilder Produce(Type messageType, Action <ProducerBuilder <object> > producerBuilder)
        {
            if (producerBuilder == null)
            {
                throw new ArgumentNullException(nameof(producerBuilder));
            }

            var item = new ProducerSettings();

            producerBuilder(new ProducerBuilder <object>(item, messageType));
            Settings.Producers.Add(item);
            return(this);
        }
Пример #4
0
 public ProducerBuilder(ProducerSettings settings, Type messageType)
 {
     Settings             = settings;
     Settings.MessageType = messageType;
 }
Пример #5
0
 public ProducerBuilder(ProducerSettings settings)
     : this(settings, typeof(T))
 {
 }
Пример #6
0
 public ProducerBuilder(ProducerSettings settings, Type messageType)
 {
     Settings             = settings ?? throw new ArgumentNullException(nameof(settings));
     Settings.MessageType = messageType;
 }