建议在单个应用程序/进程中创建多个NServiceBus发布者的方法?

时间:2011-04-20 17:30:20

标签: .net nservicebus

我将有几个发布者都是单个“应用程序”的逻辑组件。

虽然我很努力地分开关注点(即有许多独立的类库构成了域逻辑),但我仍然宁愿只有一个应用程序来部署,调试等。

到目前为止我看过的所有示例似乎都依赖于将发布者信息放在app.config中,看起来我只能通过这种方式声明一个发布者。

看起来我可以使用CustomConfigurationSource方法,但我觉得我错过了一些更为直接和直接的内容。

是否有一种简单/推荐的方法可以在单个应用程序中创建多个发布者(每个发布者具有不同的事件类型),使用通用主机还是自托管?

1 个答案:

答案 0 :(得分:0)

如果您遵循每个逻辑发布者发布不同事件类型的指导,其中没有两个逻辑发布者发布完全相同的类型,那么您没问题。

通过此,您可以在一个应用程序进程中“共同托管”一个或多个逻辑发布者。他们与完全相同的物理数据库表进行交谈的事实不一定是个问题,因为它们彼此之间不会有任何重叠,并且它们不会踩到彼此的脚趾。

只要您在代码中完成逻辑分离,将它们放入同一物理进程并共享相同的物理资源(如队列和数据库)就没有任何问题。

从那里开始,只需使用NServiceBus.Host.exe(用于Windows主机)解决问题,你就可以了。