Esempio n. 1
0
        /// <summary>
        /// Handle message from response queue
        /// </summary>
        /// <param name="msg">Response message</param>
        private void OnMessage(RabbitMessage msg)
        {
            if (!_requests.TryRemove(msg.CorrelationId, out var wi))
            {
                return;
            }

            // Cancel timeout task
            wi.TimeoutCancellationSource.Cancel();

            // Complete the task
            var result = msg.Read <string>();

            wi.CompletionSource.SetResult(result);
        }
Esempio n. 2
0
        private static void OnMessage(RabbitMessage msg)
        {
            var str = msg.Read <string>();

            Console.WriteLine("Message received: {0}", str);
            Console.Write("Emit rejection? [y/n]: ");
            var yn = Console.ReadLine()?.Trim()?.ToLowerInvariant();

            if (yn == "y")
            {
                msg.Reject();
            }
            else
            {
                msg.Ack();
            }
        }
Esempio n. 3
0
        private static void OnMessage(RabbitMessage msg)
        {
            var str = msg.Read <string>();

            Console.WriteLine("Request received: {0}", str);

            // Make the result string
            var chars = str.ToCharArray();

            Array.Reverse(chars);
            var result = new string(chars);

            // Make a response
            msg.Client.Publish(
                result,
                routingKey: msg.ReplyTo,
                exchange: "",
                correlationId: msg.CorrelationId);
        }
Esempio n. 4
0
        private static void OnMessage(RabbitMessage msg)
        {
            var str = msg.Read <string>();

            Console.WriteLine("Message received: {0}", str);
        }