如何通过MSMQ发送不同类型的消息?

时间:2012-03-19 13:00:28

标签: c# msmq

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

2 个答案:

答案 0 :(得分:2)

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

e.g。

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

答案 1 :(得分:1)

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

如果您已经让您的基础架构使用一个队列,那么添加另一个队列应该是最小的努力。