1. RabbitMQ:这是一种基于AMQP协议的消息队列,C#可以通过RabbitMQ Client库进行访问。

    // 创建连接工厂
    ConnectionFactory factory = new ConnectionFactory() { HostName = "localhost" };
    // 创建连接
    using (IConnection connection = factory.CreateConnection())
    {
     // 创建信道
     using (IModel channel = connection.CreateModel())
     {
         // 声明消息队列
         channel.QueueDeclare("queue_name", false, false, false, null);
    
         // 发布消息
         channel.BasicPublish("", "queue_name", null, Encoding.UTF8.GetBytes("Message"));
    
         // 消费消息
         var consumer = new QueueingBasicConsumer(channel);
         channel.BasicConsume("queue_name", true, consumer);
         while (true)
         {
             var delivery = consumer.Queue.Dequeue();
             var message = Encoding.UTF8.GetString(delivery.Body);
             Console.WriteLine("Received: {0}", message);
         } 
     }
    }
  1. ActiveMQ:这是著名的Java开源消息队列,C#可以通过ActiveMQ Client库访问。用法与RabbitMQ类似。
  2. Azure Service Bus队列:这是Azure云服务中的消息队列服务,C#可以通过Azure Service Bus SDK进行访问。
  3. Kafka:这是Apache的分布式消息队列平台,C#可以通过Confluent Kafka Client访问。
    除此之外,C#还可以基于Redis、ZeroMQ等中间件实现简单的消息队列。总之,C#有多种方式可以实现消息队列并应用于企业系统的异步通信与集成。
文档更新时间: 2023-11-14 06:17   作者:admin