Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/326.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/wcf/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# MSMQ,从单个windows服务读取多个队列消息_C#_Wcf_Msmq - Fatal编程技术网

C# MSMQ,从单个windows服务读取多个队列消息

C# MSMQ,从单个windows服务读取多个队列消息,c#,wcf,msmq,C#,Wcf,Msmq,我需要一些设计建议,如果有人可以建议一个将是伟大的 我在windows server上实现了一个WCF服务,该服务从队列(MSMQ)读取消息,并对其进行进一步处理。现在我需要从另一个队列读取消息,然后分别进行处理。我不知道是使用新服务还是更新现有服务,这两个服务将同时从不同队列读取消息 我在考虑性能方面,哪一个是最好的选择?您应该能够为每个消费者提供一个单独的线程。下面是伪代码。您唯一需要确保的是在服务关闭时向线程发出停止信号 new Thread(WorkerA) { IsBackground

我需要一些设计建议,如果有人可以建议一个将是伟大的

我在windows server上实现了一个WCF服务,该服务从队列(MSMQ)读取消息,并对其进行进一步处理。现在我需要从另一个队列读取消息,然后分别进行处理。我不知道是使用新服务还是更新现有服务,这两个服务将同时从不同队列读取消息


我在考虑性能方面,哪一个是最好的选择?

您应该能够为每个消费者提供一个单独的线程。下面是伪代码。您唯一需要确保的是在服务关闭时向线程发出停止信号

new Thread(WorkerA) { IsBackground = true }.Start();
new Thread(WorkerB) { IsBackground = true }.Start();

void WorkerA() {
   while (true) { /* process queue a */ }
}

void WorkerB() {
   while (true) { /* process queue b */ }
}
当谈论1个服务和2个服务时,性能应该是相等的,因为它仍然是由操作系统调度的线程。至于稳定性,您可以在拆分服务时更具弹性,但这仍然不应该是一个太大的问题,我希望单服务方法在每个线程中都足够稳定

最后,我会选择最简单的方法