【问题标题】:MSMQ. Displaying message bodyMSMQ。显示消息正文
【发布时间】:2016-06-24 00:31:51
【问题描述】:

我遇到了显示消息正文的问题。我使用 C#(我有 Windows 7)将测试消息(使用 XmlFormatter)发送到队列。

如何从邮件正文预览中删除十六进制?

我发现了有趣的时刻:如果 body 少 612 字节 - xml 显示还可以,但如果 body 多 612 字节 - 显示为十六进制。

我不能使用 BinaryFormatter,因为我需要在消息属性(正文)中显示清除 xml。 (如果使用 BinaryFormatter,也会显示十六进制)。 我尝试创建自定义(TxtFormatter)格式化程序 - 也显示十六进制。

【问题讨论】:

  • 你不能只做一个 messagequeue.peek 吗?
  • 我可以。但我需要使用此窗口阅读消息(消息 - 属性 - 正文)。而且我不能使用任何其他程序来查看队列。只有标准工具。
  • 那么你不能改变这种行为。

标签: c# .net queue message-queue msmq


【解决方案1】:

我找到了解决方案。只需要使用ActiveXMessageFormatter

【讨论】:

  • 很好,您找到了解决方案。请将此标记为您的答案,以便将来帮助他人。
【解决方案2】:

如果您在传递非 XML 字符串时使用 XmlMessageFormatter(),则应确保以下几点:

  1. 如果消息是一个对象,请确保它具有属性[Serializable]。否则,消息正文将是十六进制格式。
  2. 确保生成的序列化对象属性映射正确并具有有效值(如果在 XSD(XML 架构定义)文件中定义)。

【讨论】:

    【解决方案3】:

    或者您可以使用 MSMQ Studio 查看 MSMQ 消息。 https://msmq-studio.com

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-01-30
      • 1970-01-01
      • 2015-10-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-06-07
      • 1970-01-01
      相关资源
      最近更新 更多