NServiceBus PubSub-如何打破pub\'r和sub\'r之间的二进制依赖关系?

| 我需要构建一个NSB订阅服务器,该订阅服务器将订阅由已启用的服务发布的消息。此服务是使用包含我要订阅的NSB IMessage实现的消息程序集构建的。因此,要建立我的订户,我需要对该程序集有严格的依赖性。 当我的订阅者启动时,它将一些消息发送到发布者输入队列,这导致发布者将我的订阅记录在数据库中。我的订阅之一如下所示:
MyNamespace.MyMessageType, MyNamespace, Version=1.0.0.0, Culture=neutral, PublicKeyToken=MyPublicKeyToken
不幸的是,发布者正在从名称不强的程序集中发布消息。因此,在发布时,订阅评估过程无法针对我的订阅成功评估,因为正在发布的消息的公钥令牌(值= null)与我的订阅不匹配。 我的问题是:我不能仅按类型和版本订阅消息吗?更好的是-我不能基于某些外部合同(例如XSD)订阅消息并完全打破这种依赖性吗? 提前谢谢了。 更新:NSB文档在此处提示如下内容: http://www.nservicebus.com/MessagesAsInterfaces.aspx     
已邀请:
对于您创建的常规消息,可以使用NSB工具目录中的XsdGenerator工具生成可传递给其他端点的模式。您将要使用此工具而不是.NET Framework工具,因为它不支持接口。从那里您可以使用该架构来处理消息。 对于订阅消息,如果您不想使用该程序集,则可以告诉NSB DoNotAutoSubscribe()并手动订阅(Bus.Subscribe(Type)),并根据需要传递消息的类型。这可能不在架构或其他配置上。     

要回复问题请先登录注册