Esempio n. 1
0
        public static void Main(string[] args)
        {
            var queueName = "strings_queue";

            Log("Application started. Connecting to RabbitMq...");
            var factory = new ConnectionFactory()
            {
                HostName = "localhost",
                UserName = "******",
                Password = "******"
            };

            using var connection = factory.CreateConnection();
            using var channel    = connection.CreateModel();

            Console.WriteLine("Enter the words to send separated by spaces.");
            var words = GetMessages(Console.ReadLine());

            var producer = new MessageBusProducerClient(channel, queueName);

            foreach (var word in words)
            {
                Log($"Sending message '{word}'...");
                var message = new Message <string>(Guid.NewGuid(), word);
                producer.PostAsync(message);
                Log("Message sent.");
            }

            Console.ReadLine();

            channel.Close();
            connection.Close();

            string[] GetMessages(string messageInput) =>
            (messageInput.Length > 0) ? messageInput.Split(' ') : new string[]
            {
                "Hello.", "Goodbye."
            };

            void Log(string message) =>
            Console.WriteLine($"[{DateTimeOffset.Now}]  {message}");
        }
Esempio n. 2
0
        private void Batching2_Click(object sender, EventArgs e)
        {
            string queueName      = "Download_Batching_2";
            Random rand           = new Random();
            int    sendingMessage = rand.Next(1, 30);

            ConnectionFactory factory = new ConnectionFactory()
            {
                HostName = "localhost",
                UserName = "******",
                Password = "******"
            };

            using var connection = factory.CreateConnection();
            using var channel    = connection.CreateModel();

            MessageBusProducerClient producer = new MessageBusProducerClient(channel, queueName);

            int.TryParse(Download1Count.Text, out int count);

            if (count > 0)
            {
                for (int i = 0; i < count; i++)
                {
                    Message <int> message = new Message <int>(Guid.NewGuid(), sendingMessage);
                    producer.PostAsync(message);
                    Debug.WriteLine("Message Sent");
                }
            }
            else
            {
                Message <int> message = new Message <int>(Guid.NewGuid(), sendingMessage);
                producer.PostAsync(message);
                Debug.WriteLine("Message Sent");
            }

            Debug.WriteLine($"Message sent at {DateTimeOffset.Now}");

            channel.Close();
            connection.Close();
        }