代码之家  ›  专栏  ›  技术社区  ›  Mark Lindell

具有多个端点和并发处理的msmq

  •  0
  • Mark Lindell  · 技术社区  · 16 年前

    我已经构建了一个WCF负载均衡器/路由器,可以使用msmq绑定有条件地将任何单向服务路由到多个端点。我还创建了一个主机,它使用路由器的所有端点来接受服务调用。所有端点都指定了相同的协定。

    我需要同时处理每个队列(端点),但每个服务调用都要按顺序处理。

    我试过使用InstanceContextMode=InstanceContextMode.Single和ConcurrencyMode=ConcurrencyMode.Single,但这只给了我处理所有端点的单实例。InstanceContextMode=PerCall不保证我需要的订购。
    我需要的是每个端点一个单独的服务实例,它将并发运行。

    我也尝试过使用

    ReleaseServiceInstanceOnTransactionComplete = true/false.
    

    我如何通过使用msmq绑定的WCF来实现这一点?

    1 回复  |  直到 11 年前
        1
  •  1
  •   user80855    15 年前

    放置你的配置,这样它会更清楚一点。您还可以通过定义自己的同步上下文来控制WCF如何执行调用。我不得不在另一个项目中使用它,并在本文中发布了代码。

    http://www.codeproject.com/KB/threads/SynchronizationContext3.aspx