【问题标题】:How can I send messages of different types through MSMQ?如何通过 MSMQ 发送不同类型的消息?
【发布时间】:2012-03-19 21:17:40
【问题描述】:

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

【问题讨论】:

    标签: c# msmq


    【解决方案1】:

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

    例如

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

    【讨论】:

      【解决方案2】:

      如果您有多种类型的消息,通常会使用多个队列。 这避免了以后的任何潜在问题,即只能将特定类型的消息出队,以及对正在处理的消息类型的任何潜在混淆。

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

      【讨论】:

      • 这只有在跨类型的消息排序不重要时才有效
      猜你喜欢
      • 2015-01-10
      • 2017-04-27
      • 1970-01-01
      • 1970-01-01
      • 2013-03-30
      • 2018-02-02
      • 2012-11-05
      • 1970-01-01
      • 2013-06-24
      相关资源
      最近更新 更多