如何处理多个NServiceBus项目?

时间:2011-12-22 22:13:38

标签: c# msmq nservicebus

我有一个WPF解决方案,它还需要支持从Queue1接收消息并向Queue2发送消息。我把这一切都搞定了,并且在早期测试中找到了它。

但是当我合并输入和输出项目(所以我在输出文件夹中有两个项目程序集)时,我收到以下错误:

  

主机不支持托管多个端点。找到的端点类:MySolution.Queue1.EndpointConfig,MyProject.Queue1,Version = 1.0.0.0,Culture = neutral,PublicKeyToken = null,

     

MySolution.Queue2.EndpointConfig,MyProject.Queue2,Version = 1.0.0.0,Culture = neutral,PublicKeyToken = null您的运行时目录中可能有一些旧程序集。

     

尝试右键单击您的VS项目,然后选择“清除”。

我是不是错了?我的WPF进程只能处理一个队列吗? (如果是这样的话,似乎不太强大。)

也许我会以错误的方式解决这个问题。我应该只是从同一个队列发送和接收吗? (这甚至可以正常工作吗?队列可以处理多种消息类型吗?)

1 个答案:

答案 0 :(得分:1)

我看待它的方式是您正在运行的每个进程的队列。 (或者更具体地说,如果您手动设置应用程序域,那么除非您在topshelf搁架下创建多个服务,否则您可能不会这样做。)是的,相同的队列可以处理不同类型的消息。匹配进入的消息类型的每个处理程序将被调用传入消息。设置nservicebus以查看队列是进程本身的代码/配置的关注点,而不是与处理程序有关的程序集等(可能在同一程序集中有进程和处理程序)。只要要处理的消息被发送到该队列,您只需要一个队列。不确定这是否能解决您所寻找的问题,但这就是我如何看待您只需要一个应用程序域名队列的原因。