Я построил балансировщик/маршрутизатор нагрузки WCF, чтобы условно маршрутизировать любую услугу одного маршрута на несколько конечных точек, используя привязки MSMQ. Я также создал узел, который использует все конечные точки маршрутизатора для принятия вызовов службы. Вся конечная точка указывает один и тот же контракт.msmq с несколькими конечными точками и параллельной обработкой
Мне нужно, чтобы каждая очередь (конечная точка) обрабатывалась одновременно, но каждый вызов службы обрабатывался последовательно.
Я пробовал использовать InstanceContextMode = InstanceContextMode.Single и ConcurrencyMode = ConcurrencyMode.Single, но это дает мне только один экземпляр, обрабатывающий все мои конечные точки. InstanceContextMode = PerCall не гарантирует порядок, который мне нужен.
Мне нужен только один экземпляр службы на конечную точку, которая будет работать одновременно.
Я также пробовал различные перестановки, используя ServiceBehavior из
ReleaseServiceInstanceOnTransactionComplete = true/false.
Как бы я сделать это с WCF с помощью MSMQ привязок?