【发布时间】:2017-10-16 14:52:14
【问题描述】:
我有一个带有通用参数IEvent 的消费者。此类型是所有消息的基本接口,IEvent 的子接口还有一些其他属性。我想访问具有嵌套类型的所有属性的原始消息,而不仅仅是IEvent 范围。这些属性可以通过 RMQ 管理仪表板看到,我认为应该有办法把它们放出来。
【问题讨论】:
标签: rabbitmq masstransit
我有一个带有通用参数IEvent 的消费者。此类型是所有消息的基本接口,IEvent 的子接口还有一些其他属性。我想访问具有嵌套类型的所有属性的原始消息,而不仅仅是IEvent 范围。这些属性可以通过 RMQ 管理仪表板看到,我认为应该有办法把它们放出来。
【问题讨论】:
标签: rabbitmq masstransit
您可以使用context.TryGetMessage<T>() 请求特定类型,这实际上是尝试将消息反序列化为指定类型(只要它在序列化到标头中的 messageTypes 列表中)。
否则,您可以使用context.TryGetMessage<JToken>(),并从JSON.NET 中获取JToken,该JToken 可用于导航消息正文。
老实说,这不是正确处理事件等的最佳方法,因此我会参考文档以了解如何正确使用各种消息类型(并让 MassTransit 完成艰苦的工作)。
【讨论】: