Example #1
0
        /// <summary>
        /// Sends a message using the metadata in the envelope if applicable
        /// </summary>
        /// <param name="message"></param>
        public void Send(Envelope <Stream> message)
        {
            IBasicProperties prop = _client.CreateBasicProperties();

            _client.BasicPublish(exchange: "",
                                 routingKey: QueueName,
                                 basicProperties: prop,
                                 body: RabbitMQMessageConverter.GetBytesFromStream(message.Body));
        }
        private Task ProcessReceivedMessage(BasicGetResult result)
        {
            Envelope <Stream> envelope = RabbitMQMessageConverter.ConstructEnvelope(result);
            Task messageProcess        = Task.Run(() =>
            {
                MessageReleaseAction action = InvokeMessageHandler(envelope);

                CompleteMessage(result.DeliveryTag, action);
            });

            return(messageProcess);
        }