2016-03-09 162 views
1

我面臨顯示消息正文的問題。我使用C#發送測試消息(使用XmlFormatter)來排隊(我有Windows 7)。MSMQ。顯示消息正文

如何從郵件正文預覽中刪除十六進制?

enter image description here

我發現有趣的時刻:如果身體少612個字節 - XML顯示是好的,但如果身體更多的612個字節 - 出現十六進制。

enter image description here

我不能使用的BinaryFormatter,因爲我需要顯示在郵件屬性(體)清XML。 (如果使用BinaryFormatter,則也顯示十六進制)。 我嘗試創建自定義(TxtFormatter)格式化程序 - 十六進制也顯示。

+0

你不能只是做一個messagequeue.peek嗎? –

+0

http://stackoverflow.com/questions/4491801/msmq-message-viewer –

+0

我可以。但是我需要使用這個窗口讀取消息(消息 - 屬性 - 主體)。我無法使用任何其他程序查看隊列。只有標準的工具。 –

回答

1

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

+0

很好,你找到了一個解決方案。請將此標記爲您未來幫助他人的答案。 –

0

如果您正在使用XmlMessageFormatter(),同時通過非XML字符串,應確保滿足以下條件:

  1. 如果消息是一個對象,確保其具有屬性[Serializable]。否則,消息體將是十六進制格式。
  2. 如果在XSD(XML模式定義)文件中定義,請確保生成的序列化對象屬性映射正確並具有有效值。