【问题标题】:Consuming MSMQ with WCF使用 WCF 使用 MSMQ
【发布时间】:2012-05-02 09:59:30
【问题描述】:

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

非常感谢

【问题讨论】:

    标签: multithreading wcf msmq


    【解决方案1】:

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

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

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

    InstanceContextMode 默认为 perSession。

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

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

    【讨论】:

      猜你喜欢
      • 2010-11-21
      • 2011-11-02
      • 2011-12-05
      • 2011-02-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-01-05
      相关资源
      最近更新 更多