【发布时间】:2012-08-05 04:41:32
【问题描述】:
我对 UnicastBusConfig、MsmqTransportConfig、 和一般的 MSMQ 队列。文档状态:
"订阅者的总线订阅发布者的方式是通过 向已配置的队列发送消息 部分”
我认为每个订阅者必须包含一个 MessageEndpointMapping 回到每个发布者的端点(或队列) 可能会发布订阅者处理的消息?
如果是这样的话,那么你如何配置多个 MessageEndpointMapping 用于相同的消息类型?不能有重复的值。
例如,给定 MyAssembly.IDoStuff,假设我有两个发布者 IDoStuff 和一个订阅者:
<UnicastBusConfig>
<MessageEndpointMappings>
<add Messages="MyAssembly" Endpoint="Publisher1" />
<add Messages="MyAssembly" Endpoint="Publisher2" /> <-- runtime exception
</MessageEndpointMappings>
</UnicastBusConfig>
这方面的商业案例很简单。假设订阅者是一个 FTP 进程,它获取一个文件并通过 FTP 将其输出。显然,您希望在整个企业的许多地方使用该功能。因此,有一个处理 ISendFile 的 FTP 订阅者,然后让每个需要 FTP 功能的发布者进程简单地发布 ISendFile 消息是有意义的。这就是我遇到的确切情况 - 我看不到解决办法。
请指教 - 谢谢!
【问题讨论】:
标签: nservicebus