C# 如何处理多个正在进行的NServiceBus项目?

C# 如何处理多个正在进行的NServiceBus项目?,c#,msmq,nservicebus,C#,Msmq,Nservicebus,我有一个WPF解决方案,它还需要支持从Queue1接收消息并将消息发送到Queue2。我设置了这一切,并在早期测试中找到了它 但是,当我组合输入和输出项目时(因此我在输出文件夹中有两个项目程序集),我得到以下错误: 主机不支持承载多个端点。找到的终结点类:MySolution.Queue1.EndpointConfig,MyProject.Queue1,Version=1.0.0,Culture=neutral,PublicKeyToken=null MySolution.Queue2.Endp

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

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

主机不支持承载多个端点。找到的终结点类:MySolution.Queue1.EndpointConfig,MyProject.Queue1,Version=1.0.0,Culture=neutral,PublicKeyToken=null

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

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

我做错了吗?我的WPF进程只能处理一个队列吗?(如果是这样的话,看起来就不太可靠了。)


也许我走错了方向。我应该从同一队列发送和接收吗?(这行得通吗?一个队列可以处理多种消息类型吗?

我认为它是每个正在运行的进程的队列。(或者,如果您正在手动设置应用程序域,则更具体地说是应用程序域。除非您正在topshelf搁置下创建多个服务,否则您可能不会手动设置应用程序域。)是的,同一队列可以处理不同类型的消息。与传入消息类型匹配的每个处理程序都将被调用以获取传入消息。设置nservicebus查看队列是流程本身的代码/配置问题,而不是与处理程序相关的程序集(可能在相同的程序集中有流程和处理程序)。只要要处理的消息被发送到一个队列,您就只需要一个队列。不确定这是否符合您的要求,但这就是我认为一个应用程序域只需要一个队列的原因。

我认为它是每个正在运行的进程的队列。(或者,如果您正在手动设置应用程序域,则更具体地说是应用程序域。除非您正在topshelf搁置下创建多个服务,否则您可能不会手动设置应用程序域。)是的,同一队列可以处理不同类型的消息。与传入消息类型匹配的每个处理程序都将被调用以获取传入消息。设置nservicebus查看队列是流程本身的代码/配置问题,而不是与处理程序相关的程序集(可能在相同的程序集中有流程和处理程序)。只要要处理的消息被发送到一个队列,您就只需要一个队列。不确定这是否符合您的要求,但这就是我认为一个应用程序域只需要一个队列的原因。

“队列可以处理多种消息类型吗?”MSMQ的唯一类型限制是事务队列中的事务性消息和非事务性队列中的非事务性消息。是NSB仅允许每个物理端点有一个输入队列。您能解释一下这与健壮性的关系吗?“队列可以处理多种消息类型吗?”MSMQ的唯一类型限制是事务队列中的事务性消息和非事务性队列中的非事务性消息。是的NSB只允许每个物理端点有一个输入队列。你能解释一下这与稳健性的关系吗?