早些时候我问了一个关于如何反序列化 xml 消息的问题(发送机智 ActiveMq)。 我错过了一个事实,即如果包含 MassTransit.NewtonSoft,您可以使用 UseRawXmlSerializer()。
现在我可以反序列化简单的消息,例如:
<event><wqid>1</wqid><event>
[JsonObject("event")]
public class WorkQueueOrderEvent
{
[JsonProperty("wqid")]
public int WorkQueueId { get; set; }
}
问题是我没有得到这种格式的事件。 我收到它是这样的:
<event wqid="22"/>
它确实运行了,但我最终在 WorkQueueId 中得到了 0。
我试过 [XmlAttribute("wqid")] 但没有用。
我找到了解决方案:-) https://www.newtonsoft.com/json/help/html/convertingjsonandxml.htm
xml 属性转换为“@”。 所以我需要做的就是适应:
[JsonObject("event")]
public class WorkQueueOrderEvent
{
[JsonProperty("@wqid")] <====== added @
public int WorkQueueId { get; set; }
}