0

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

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

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

我还尝试了使用 ServiceBehavior 的各种排列

ReleaseServiceInstanceOnTransactionComplete = true/false.

我将如何使用 MSMQ 绑定通过 WCF 完成此任务?

4

1 回答 1

1

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

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

于 2009-03-27T09:38:53.947 回答