【问题标题】:msmq multiple message types in a single queuemsmq 单个队列中的多种消息类型
【发布时间】:2011-11-17 22:33:28
【问题描述】:

我计划让一个队列接收大约 100 种不同的消息类型。

如果我只有两种不同的类型,我会做这样的事情

MessageQueue queue = new MessageQueue(_queue); queue.Formatter = new XmlMessageFormatter(new Type[] { typeof(CreateReportComand), typeof(CreateReportComand2)});

向 XmlMessageFormatter 传递一个约 100 种类型的数组是不是很疯狂。如果不是,检查收到的消息以决定如何处理它的最佳方法是什么?

【问题讨论】:

    标签: msmq


    【解决方案1】:

    您可以使用 WCF MsmqIntegrationBinding 并处理 MsmqMessage<string> 类型的消息。然后您的处理程序方法将接收作为字符串的序列化消息,然后可以使用它执行您想要的操作。

    【讨论】:

      【解决方案2】:

      我不喜欢使用 Message.Formatter 和 Message.Body。相反,我使用 Message.BodyStream 手动序列化/反序列化我的消息。 消息的类型可以嵌入到序列化数据中(这就是我所做的),或者您可以将其放在消息头或标签上。

      【讨论】:

      • 我已经开始使用 message.AppSpecific 来保存我投射到枚举的 int 并且似乎工作正常
      猜你喜欢
      • 2013-12-31
      • 2012-03-27
      • 2011-05-01
      • 1970-01-01
      • 2012-12-28
      • 2010-12-10
      • 2017-06-29
      • 2018-02-20
      • 2012-02-06
      相关资源
      最近更新 更多