Note that there are some explanatory texts on larger screens.

plurals
  1. POOrdered Delivery with netMSMQbinding
    primarykey
    data
    text
    <p>Is it possible to guarantee ordered delivery when using WCF netMSMQbinding?</p> <p>We are putting an insert command followed by a number of update commands on the same queue, and occassionally one of the updates beats the insert.</p> <p>Having added extensive logging it is clear that they are being added to the queue in the correct order and being processed in a different order.</p> <p>I have managed to Google a couple of articles that state that this behaviour is expected, but it seems like it must be possible to configure it to be ordered somehow.</p> <p>Our queues are transactional, so I don't think that adding sequence numbers and resequencing at the destination is going to work, as that would lose out transactionality</p> <p>If I add the attribute <code>[DeliveryRequirements(RequireOrderedDelivery=true, QueuedDeliveryRequirements=QueuedDeliveryRequirementsMode.Require)]</code> I get the following error:</p> <blockquote> <p>The DeliveryRequirementsAttribute on contract 'IService' specifies a QueuedDeliveryRequirements value of NotAllowed. However, the configured binding for this contract specifies that it does support queued delivery. A queued binding may not be used with this contract.</p> </blockquote> <p>I have no idea why we get this error, as everything "appears" to be setup correctly. I haven't managed to find any confirmation that this setting is allowed for MSMQ though, as it appears to be a WS-RM setting, and AFAIK netMSMQBinding does not support WS-RM.</p>
    singulars
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload