/// <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); }
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(); } }
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); }
private static void OnMessage(RabbitMessage msg) { var str = msg.Read <string>(); Console.WriteLine("Message received: {0}", str); }