目录

1 基于EasyNetQ操作 _RabbitMQ_ 的Demo项目-基于.net使用

1.1 Direct Exchange

1.2 消息发送(direct)

1.4 消息发送

 

基于EasyNetQ操作 _RabbitMQ_ 的Demo项目-基于.net使用

Direct Exchange

所有发送到Direct Exchange的消息被转发到RouteKey中指定的Queue。Direct模式,可以使用RabbitMQ自带的Exchange:default Exchange 。所以不需要将Exchange进行任何绑定(binding)操作 。消息传递时,RouteKey必须完全匹配,才会被队列接收,否则该消息会被抛弃。

 

消息发送(direct)

///

/// 消息发送(direct)

///

/// 消息类型

/// 发送到的队列

/// 发送内容

public static void DirectSend(string queue, T message) where T : class {

    using (var bus = BusBuilder.CreateMessageBus()) {

        bus.Send(queue, message);

    }

}

消息发送

///

/// 消息发送

///

///

///

///

///

///

///

///

public static bool DirectPush(T t, out string msg, string exChangeName = "direct_mq", string routingKey = "direct_rout_default") where T : class {

    msg = string.Empty;

    try {

        using (var bus = BusBuilder.CreateMessageBus()) {

            var adbus = bus.Advanced;

            var exchange = adbus.ExchangeDeclare(exChangeName, ExchangeType.Direct);

            adbus.Publish(exchange, routingKey, false, new Message(t));

            return true;

        }

    } catch (Exception ex) {

        msg = ex.ToString();

        return false;

    }

}

相关阅读

评论可见,请评论后查看内容,谢谢!!!
 您阅读本篇文章共花了: