发布的对象非共享时无法接收rebusrabbitMQ消息

问题描述 投票:0回答:1

当尝试解决我无法使用 Rebus 通过 RabbitMQ 接收消息的问题时,我尝试使用此示例:https://github.com/rebus-org/RebusSamples/tree/master/PubSubNative 并发现该对象,从发布者(pub)发布到订阅者(subs)的消息,对于 subs 和 pub 来说必须是完全相同的共享对象“StringMessage”。当我在每个项目中创建具有相同名称和属性的类时,它不起作用。我喜欢它没有共享文件,但有自己的类 - 如果可能的话?

c# .net rabbitmq rebus rebus-rabbitmq
1个回答
0
投票

是的,这是可能的,但您必须绕过接收端的反序列化,以某种方式解析接收者对

StringMessage
的定义,即使是发送者的
StringMessage
已序列化。

您可能想查看 SharedNothing 示例,它演示了这个特定的事情。

主要部分是

CustomMessageDeserializer
,它使用这个字典从简单的、程序集限定的类型名称映射到所需的类型。

© www.soinside.com 2019 - 2024. All rights reserved.