有没有办法从MassTransit获取原始消息?

时间:2017-10-16 14:52:15

标签: rabbitmq masstransit

我有一个使用泛型参数IEvent的消费者。此类型是所有消息的基本接口,IEvent的子接口具有一些其他属性。我希望能够访问包含嵌套类型的所有属性的原始消息,而不仅仅是IEvent范围。这些属性可以通过RMQ管理仪表板看到,我认为应该有办法将它们放出来。

1 个答案:

答案 0 :(得分:1)

您可以使用context.TryGetMessage<T>()来请求特定类型,这实际上是尝试将消息反序列化为指定类型(只要它在序列化到标题中的messageTypes列表中)。

否则,您可以使用context.TryGetMessage<JToken>(),并从JSON.NET获取JToken,可用于导航邮件正文。

老实说,这不是正确处理事件等的最佳方法,所以我参考文档来了解如何正确使用各种消息类型(并让MassTransit付出艰苦的努力) )。