有没有办法从 MassTransit 获取原始消息?
Is there a way to get raw message from MassTransit?
我有一个使用通用参数的消费者 IEvent
。此类型是所有消息的基本接口,IEvent
的子接口具有一些其他属性。我想访问具有嵌套类型所有属性的原始消息,而不仅仅是 IEvent
范围。这些属性可以通过 RMQ 管理仪表板看到,我认为应该有办法把它们放出来。
您可以使用 context.TryGetMessage<T>()
来请求特定类型,这实际上是尝试将消息反序列化为指定类型(只要它在序列化为 header 的 messageTypes 列表中) .
否则,您可以使用 context.TryGetMessage<JToken>()
,并从 JSON.NET 获取 JToken
,可用于导航消息 body。
老实说,这不是正确处理事件等的最佳方法,因此我会参考文档以了解如何正确使用各种消息类型(并让 MassTransit 完成艰苦的工作)。
我有一个使用通用参数的消费者 IEvent
。此类型是所有消息的基本接口,IEvent
的子接口具有一些其他属性。我想访问具有嵌套类型所有属性的原始消息,而不仅仅是 IEvent
范围。这些属性可以通过 RMQ 管理仪表板看到,我认为应该有办法把它们放出来。
您可以使用 context.TryGetMessage<T>()
来请求特定类型,这实际上是尝试将消息反序列化为指定类型(只要它在序列化为 header 的 messageTypes 列表中) .
否则,您可以使用 context.TryGetMessage<JToken>()
,并从 JSON.NET 获取 JToken
,可用于导航消息 body。
老实说,这不是正确处理事件等的最佳方法,因此我会参考文档以了解如何正确使用各种消息类型(并让 MassTransit 完成艰苦的工作)。