【发布时间】:2013-12-30 16:28:48
【问题描述】:
我发现即使我的 NSB 进程不处理 DTOXXX 的消息,它仍然会向 DTOXXX 的发布者队列发送自动订阅消息。
这不是我们想要的行为。我希望进程发布和订阅 DTOYYY 的消息,但任何使用 DTOXXX 的通信都严格只发送。
如果这还不够清楚,我有 2 个包含我的 DTO 的程序集。我想建立一个 pub/sub 总线,但仅适用于 YYY.dll 中的程序集。至于另一个程序集中的 DTO,我希望仅通过 SEND(而不是 pub sub)进行通信。
我遇到的问题是 NSB 正在向其他进程发送自动订阅消息,即使:
- XXX 程序集中的 DTO 没有处理程序。仅引用它以便 YYY NSB 可以向 XXX NSB 发送消息。
- 2 个模块之间的通信严格只发送。考虑到实际用例和业务需求,这样做是为了促进低耦合。
如何正确设置我的模块?那就是我需要以某种方式告诉 NSB,自动订阅消息,但仅限于给定命名空间/程序集中的消息。
【问题讨论】:
标签: c# nservicebus messaging soa publish-subscribe