나는 일반 인수가 IEvent
인 소비자가 있습니다. 이 유형은 모든 메시지에 대한 기본 인터페이스이며 IEvent
의 하위 인터페이스에는 몇 가지 다른 속성이 있습니다. 난 IEvent
범위 대신 중첩 형식의 모든 속성을 가진 원시 메시지에 액세스 할 수 싶습니다. RMQ admin 대시 보드를 통해 이러한 속성을 볼 수 있으며이를 배치하는 방법이 있어야한다고 생각합니다.MassTransit에서 원시 메시지를 가져 오는 방법이 있습니까?
0
A
답변
1
context.TryGetMessage<T>()
을 사용하여 특정 유형을 요청할 수 있습니다.이 유형은 본질적으로 메시지를 지정된 유형으로 역 직렬화하려고 시도합니다 (헤더에 serialize 된 messageTypes 목록에있는 경우).
그렇지 않으면 context.TryGetMessage<JToken>()
을 사용하고 메시지 본문을 탐색하는 데 사용할 수있는 JSON.NET에서 JToken
을 가져올 수 있습니다.
정직하게 말하자면, 이것은 이벤트 등을 올바르게 처리하는 최선의 방법이 아니므로 문서를 참조하여 다양한 메시지 유형을 올바르게 사용하는 방법을 알아보아야합니다. 그리고 MassTransit이 열심히하도록하십시오.
감사합니다. Chris! 그것은 내가 필요한 것입니다. –
나는 그것이 최선의 해결책이 아니라는 것에 동의하지만, 나의 특별한 경우에 이것은 유일한 것이다. 간단히 말해서, 기본 인터페이스 유형으로 들어가는 저장소에서 메시지를 다시 보낼 수있는 기능입니다. 그리고 나는 그것을 다시 보낼 수 있도록 저장되어야하는 전체 원본 메시지가 필요합니다. –
또한 컨텍스트에서 수신 컨텍스트를 사용하여 본문 스트림을 가져올 수도 있습니다. –