沈阳网站建设方案,浦东网站制作,仪征市建设工程网站,网站策划书内容发布/订阅和请求/响应模式是位置透明的#xff0c;因为您不需要指定消息的使用者所在的位置#xff0c;而发送/接收模式专门用于通过命名队列进行通信。它也不会假设可以通过队列发送的消息类型。这意味着您可以通过同一队列发送不同类型的消息。 发送/接收模式非常适合创建“…发布/订阅和请求/响应模式是位置透明的因为您不需要指定消息的使用者所在的位置而发送/接收模式专门用于通过命名队列进行通信。它也不会假设可以通过队列发送的消息类型。这意味着您可以通过同一队列发送不同类型的消息。 发送/接收模式非常适合创建“命令管道”您需要将缓冲通道发送到单个命令处理器。 要发送消息请使用IBus上的Send方法指定要将消息发送到的队列的名称以及消息本身 bus.Send(my.queue, new MyMessage{ Text Hello Widgets! }); 要为特定消息类型设置消息接收器请使用IBus上的Receive方法 bus.ReceiveMyMessage(my.queue, message Console.WriteLine(MyMessage: {0}, message.Text)); 您可以使用带有Action IReceiveRegistration的Receive重载为同一队列上的不同消息类型设置多个接收器例如 bus.Receive(my.queue, x x.AddMyMessage(message deliveredMyMessage message).AddMyOtherMessage(message deliveredMyOtherMessage message)); 如果消息到达没有匹配接收器的接收队列EasyNetQ会将消息写入EasyNetQ错误队列并显示“未找到消息类型消息类型的处理程序”。 注意您可能不希望为同一队列调用bus.Receive多次。这将在队列中创建一个新的使用者RabbitMQ将在它们之间循环。如果您在不同的接收呼叫以及不同的消费者上使用不同的类型您的一些消息将最终出现在错误队列中因为EasyNetQ将找不到与消费者使用的消费者相关联的消息类型的处理程序。 转载于:https://www.cnblogs.com/wangwust/p/9437389.html