Czy można zagwarantować dostawę zamówioną przy użyciu usługi WCMS netMSMQbinding?Zamówiona dostawa z NetMSMQbinding
Jesteśmy wprowadzenie polecenia insert a następnie przez szereg poleceń aktualizacji w tej samej kolejce, a od czasu do czasu jeden z aktualizacji bije wkładkę.
Po dodaniu dużej ilości rejestrowanie jasne jest, że są one umieszczone w kolejce w odpowiedniej kolejności i przetwarzania w innej kolejności.
udało mi się Google kilka artykułów, które stwierdzają, że oczekuje tego zachowania, ale wydaje się, że to musi być możliwość skonfigurowania go zamawiać jakoś.
Nasze kolejki są transakcyjna, więc nie sądzę, że dodając kolejne numery i resequencing w miejscu przeznaczenia będzie działać, jako że tracą transakcyjności
Jeśli dodać atrybut [DeliveryRequirements(RequireOrderedDelivery=true, QueuedDeliveryRequirements=QueuedDeliveryRequirementsMode.Require)]
pojawia się następujący błąd :
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.
Nie mam pojęcia, dlaczego otrzymujemy ten błąd, ponieważ wszystko "wydaje się" poprawnie ustawione. Nie udało mi się znaleźć żadnego potwierdzenia, że to ustawienie jest dozwolone dla MSMQ, ponieważ wydaje się, że jest to ustawienie WS-RM, a AFAIK netMSMQBinding nie obsługuje WS-RM.
I złożony connect błąd na ten temat, nie jest to dokładnie ten sam problem jak miałem, ale wystarczająco blisko ... Mam również rozwiązanie w błędzie connect. Sprawdź tutaj: https://connect.microsoft.com/VisualStudio/feedback/details/1107645/wcf-receives-messages-from-msmq-out-of-order –