【发布时间】:2015-01-09 20:10:57
【问题描述】:
我尝试在 MSMQ - 队列中获取项目的内容。
当我使用 QueueExplorer 查看该条目时,正文内容就像
[{"$type":"MyProject.MyClass.MyMethod, Messages","CustomerDecision":0,"OrderReferenceoId":"4fdb6be2-bfde-42b0-93fd-47058a326a24"}]
当我尝试使用以下代码阅读内容时,正文只包含奇怪的废话,主要是 \0\0 等:
message.Formatter = new XmlMessageFormatter();
var reader = new StreamReader(message.BodyStream);
var msgBody = reader.ReadToEnd();
(消息的类型为 System.Messaging.Message)
【问题讨论】:
-
为什么要使用 XmlMessageFormatter 将内容序列化为 Json?与您必须序列化一个对象以使其在主体中显示为这样的方式相同,您需要在退出队列的途中对其进行反序列化。
-
我不知道当时内容是如何序列化的。我只想接收纯文本。 QueueExplorer 也不知道格式。 (我也尝试了 BinaryMessageFormatter,结果相同)