2012-04-20 127 views
1

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

非常感谢

回答

0

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

为了使多线程和交易,不仅队列必须是事务性的,而且装饰服务属性:

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

的InstanceContextMode IS perSession默认。

您还需要设置绑定你的配置文件

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