MSMQ。显示邮件正文

时间:2016-03-09 14:51:01

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

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

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

enter image description here

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

enter image description here

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

3 个答案:

答案 0 :(得分:1)

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

答案 1 :(得分:0)

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

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

答案 2 :(得分:0)

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