MSMQ和WCF的新特性。我希望能够以高速率处理传入的MSMQ消息。我想让它成为多线程的(和事务性的)。做这件事的最好方法是什么?任何例子,代码片段,理论都是非常受欢迎的。另外,WCF如何知道MSMQ中是否有消息?或者,我是否必须创建一个Windows服务来轮询MSMQ,然后在新线程上启动它以查找找到的消息,并调用WCF服务并将消息传递给它?最好的方法是什么?
非常感谢
发布于 2012-09-26 21:48:45
这里的答案是使用WCF并创建服务已知类型的数据契约。这些已知类型是它期望从正在读取的队列中获得的对象。
要使其成为多线程和事务性的,队列不仅需要是事务性的,而且还需要装饰服务属性:
[ServiceBehavior(ConcurrencyMode = ConcurrencyMode.Multiple, InstanceContextMode = InstanceContextMode.PerSession, ReleaseServiceInstanceOnTransactionComplete = false)] 默认情况下,InstanceContextMode为perSession。
您还需要在配置文件上设置绑定
示例:http://msdn.microsoft.com/en-us/library/ms751493.aspx
https://stackoverflow.com/questions/10252620
复制相似问题