Có thể đảm bảo giao hàng theo yêu cầu khi sử dụng WCF netMSMQbinding không?Giao hàng đặt hàng với netMSMQbinding
Chúng tôi đang đặt lệnh chèn theo sau là một số lệnh cập nhật trên cùng một hàng đợi và thỉnh thoảng một trong các bản cập nhật sẽ đánh bại chèn.
Đã thêm ghi nhật ký mở rộng, rõ ràng là chúng đang được thêm vào hàng đợi theo đúng thứ tự và được xử lý theo thứ tự khác.
Tôi đã quản lý Google một vài bài viết cho biết rằng hành vi này được mong đợi, nhưng có vẻ như nó phải có khả năng cấu hình nó để được sắp xếp theo cách nào đó.
hàng đợi của chúng tôi là giao dịch, vì vậy tôi không nghĩ rằng việc thêm số thứ tự và resequencing tại điểm đến là đi làm việc, vì đó sẽ bị thua thiệt transactionality
Nếu tôi thêm các thuộc tính [DeliveryRequirements(RequireOrderedDelivery=true, QueuedDeliveryRequirements=QueuedDeliveryRequirementsMode.Require)]
tôi nhận được lỗi sau :
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.
Tôi không biết tại sao chúng tôi gặp lỗi này vì mọi thứ "xuất hiện" sẽ được thiết lập chính xác. Tôi đã không quản lý để tìm bất kỳ xác nhận rằng thiết lập này được cho phép cho MSMQ mặc dù, vì nó dường như là một thiết lập WS-RM, và AFAIK netMSMQBinding không hỗ trợ WS-RM.
tôi nộp một lỗi kết nối về chủ đề này, không hẳn là vấn đề tương tự như bạn đã có, nhưng đủ gần ... Tôi cũng có một giải pháp trong lỗi kết nối. Hãy xem tại đây: https://connect.microsoft.com/VisualStudio/feedback/details/1107645/wcf-receives-messages-from-msmq-out-of-order –