1

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

非常感谢

4

1 回答 1

0

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

要使其成为多线程和事务性,不仅队列需要是事务性的,还需要装饰服务属性:

[ServiceBehavior(ConcurrencyMode = ConcurrencyMode.Multiple, InstanceContextMode = InstanceContextMode.PerSession, ReleaseServiceInstanceOnTransactionComplete = false)]    

InstanceContextMode 默认为 perSession。

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

示例:http: //msdn.microsoft.com/en-us/library/ms751493.aspx

于 2012-09-26T13:48:45.090 回答