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

时间:2008-11-20 17:43:02

标签: wcf msmq wcf-binding

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

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

我尝试过使用InstanceContextMode = InstanceContextMode.Single和ConcurrencyMode = ConcurrencyMode.Single但这只能让我单个实例处理我的所有端点。 InstanceContextMode = PerCall不保证我需要的订购。
我需要的是每个端点的单个服务实例,它将同时运行。

我还尝试使用

的ServiceBehavior进行各种排列
ReleaseServiceInstanceOnTransactionComplete = true/false.

如何使用MSMQ绑定使用WCF实现此目的?

1 个答案:

答案 0 :(得分:1)

放置您的配置,以便更清晰一点。您还可以通过定义自己的同步上下文来控制WCF如何执行调用。我不得不为另一个项目而且我在本文中发布了代码

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