1、通过Nuget 获取Rabbit MQ NET client bindings from NuGet:
PM> Install-Package RabbitMQ.Client
2、发送者(生产者)代码:
public class RabbitMqSender { private static string strHostName = "localhost"; private static string strExchangeName = "test.exchange.1"; private static string strQueueName = "test.queue.1"; private static string strRouteKey = "test.exchange.key.1"; public static void send() { var factory = new ConnectionFactory() { HostName= strHostName }; using (var connection=factory.CreateConnection()) { using (var channel=connection.CreateModel()) { //channel.QueueDeclare // (queue: strQueueName, // durable: true, // exclusive: false, // autoDelete: false, // arguments: null // ); //channel.ExchangeDeclare(exchange: strQueueName,type:"direct", durable: true, autoDelete: false, arguments: null); channel.ExchangeDeclare(strExchangeName, ExchangeType.Direct, true, false); channel.QueueDeclare(strQueueName, true, false, false, null); channel.QueueBind(strQueueName, strExchangeName, strRouteKey, null); string message = string.Empty; byte[] body = null; for (int i = 0; i < 10; i++) { message = i+DateTime.Now.ToString() + " -----send rabbitmq message!"; body = Encoding.UTF8.GetBytes(message); channel.BasicPublish( exchange: strExchangeName, routingKey: strRouteKey, basicProperties: null, body: body ); Console.WriteLine("{0}", message); } } } } }