Is it possible to guarantee custom delivery when using WCF netMSMQbinding?
We put the insert command, followed by several update commands in the same queue, and sometimes one of the updates removes the insert.
By adding an extensive journal, it is clear that they are added to the queue in the correct order and processed in a different order.
I managed to publish several Google articles that say that this behavior is expected, but it seems that it can be customized in some way.
Our queues are transactional, so I donβt think that adding sequence numbers and re-alignment at the destination will work as it will lose the transaction
If I add the attribute [DeliveryRequirements(RequireOrderedDelivery=true, QueuedDeliveryRequirements=QueuedDeliveryRequirementsMode.Require)] , I get the following error:
In the DeliveryRequirementsAttribute attribute in the IService contract, the QueuedDeliveryRequirements value is NotAllowed. However, the configured binding for this contract indicates that it supports queuing. queue binding cannot be used with this contract.
I have no idea why we get this error, since everything "appears" is configured correctly. I was not able to find confirmation that this parameter is enabled for MSMQ, although it appears that the WS-RM parameter, and AFAIK netMSMQBinding does not support WS-RM.
Modan
source share