Ist es möglich, eine geordnete Lieferung zu garantieren, wenn Sie WCF netMSMQbinding verwenden?Bestellte Lieferung mit netMSMQbinding
Wir fügen einen Insert-Befehl ein, gefolgt von einer Anzahl von Update-Befehlen in derselben Warteschlange, und gelegentlich schlägt eine der Aktualisierungen die Einfügung.
Nachdem eine umfangreiche Protokollierung hinzugefügt wurde, ist es klar, dass sie der Warteschlange in der richtigen Reihenfolge hinzugefügt und in einer anderen Reihenfolge verarbeitet werden.
Ich habe Google ein paar Artikel, die behaupten, dass dieses Verhalten erwartet wird, aber es scheint wie es möglich sein muss konfiguriert, um es irgendwie bestellt werden.
Unsere Warteschlangen sind Transaktions-, so dass ich glaube nicht, dass Sequenznummern hinzufügen und Resequenzierung am Ziel arbeiten werde, so dass Transaktionalität
Wenn ich das [DeliveryRequirements(RequireOrderedDelivery=true, QueuedDeliveryRequirements=QueuedDeliveryRequirementsMode.Require)]
ich folgende Fehler Attribut hinzufügen würde verlieren bekommen :
Ich habe keine Ahnung, warum wir diesen Fehler bekommen, wie alles "erscheint" um richtig eingerichtet zu werden. Ich habe jedoch keine Bestätigung gefunden, dass diese Einstellung für MSMQ zulässig ist, da es sich um eine WS-RM-Einstellung handelt und AFAIK netMSMQBinding WS-RM nicht unterstützt.
ich einen connect Bug zu diesem Thema eingereicht, nicht genau das gleiche Problem wie Sie hatten, aber nahe genug ... Ich habe auch eine Lösung im Verbindungsfehler. Schau es dir hier an: https://connect.microsoft.com/VisualStudio/feedback/details/1107645/wcf-receifes-messages-from-msmq-out-order –