Multithreading 使用WCF消费MSMQ

Multithreading 使用WCF消费MSMQ,multithreading,wcf,msmq,Multithreading,Wcf,Msmq,在MSMQ和WCF中新增。 我希望能够以高速率处理传入的MSMQ消息。我想使它具有多线程(和事务性)。 这样做的最佳方式是什么?任何示例、代码片段和理论都非常受欢迎。 此外,WCF如何知道MSMQ中是否有消息?或者我必须创建一个轮询MSMQ的Windows服务,然后在新线程上启动找到的消息,调用WCF服务并将消息传递给它? 最好的方法是什么 非常感谢这里的答案是使用WCF并创建服务已知类型的数据契约。 这些已知类型是它期望从正在读取的队列中读取的对象 要使其具有多线程和事务性,队列不仅需要具有事

在MSMQ和WCF中新增。 我希望能够以高速率处理传入的MSMQ消息。我想使它具有多线程(和事务性)。 这样做的最佳方式是什么?任何示例、代码片段和理论都非常受欢迎。 此外,WCF如何知道MSMQ中是否有消息?或者我必须创建一个轮询MSMQ的Windows服务,然后在新线程上启动找到的消息,调用WCF服务并将消息传递给它? 最好的方法是什么


非常感谢这里的答案是使用WCF并创建服务已知类型的数据契约。 这些已知类型是它期望从正在读取的队列中读取的对象

要使其具有多线程和事务性,队列不仅需要具有事务性,还需要修饰服务属性:

[ServiceBehavior(ConcurrencyMode = ConcurrencyMode.Multiple, InstanceContextMode = InstanceContextMode.PerSession, ReleaseServiceInstanceOnTransactionComplete = false)]    
InstanceContextMode默认为perSession

您还需要在配置文件上设置绑定

例如: