2012-03-19 39 views
0

我有不同类型的消息,需要通过MSMQ发送给客户端。我没有使用WCF,因为我想要一个自己编码的解决方案。当我在客户端收到消息时,如何区分消息体的数据类型,因为我希望根据消息正文的类型设置IFormatter,以便查询消息。谢谢。如何通过MSMQ发送不同类型的消息?

回答

2

如果您可以控制正在发送的消息格式,则可以将每个消息正文封装在具有'type'属性的固定容器中。然后,您可以反序列化容器,并根据'type'属性确定如何处理实际包含消息的反序列化。

例如

<dataContainer type="XYZ"> 
<!-- put your actual message content here inside a CDATA section --> 
</dataContainer> 
1

通常,如果您有多种类型的消息,则使用多个队列。这样可以避免以后任何潜在的问题,即只能对特定类型的消息进行取消排队,以及对正在处理的消息类型进行任何潜在的混淆。

如果你已经有了一个队列的基础设施,添加另一个应该是最小的工作。

+1

只有跨类型的消息排序并不重要 – 2012-03-19 13:20:11