के साथ आदेश दिया गया डिलिवरी WCF netMSMQbinding का उपयोग करते समय आदेशित डिलीवरी की गारंटी देना संभव है?netMSMQbinding
हम एक कतार कमांड डाल रहे हैं जिसके बाद एक ही कतार पर कई अद्यतन कमांड हैं, और मौलिक रूप से अद्यतनों में से एक डालने से धड़कता है।
व्यापक लॉगिंग जोड़ने के बाद यह स्पष्ट है कि उन्हें सही क्रम में कतार में जोड़ा जा रहा है और एक अलग क्रम में संसाधित किया जा रहा है।
मैंने Google को कुछ लेख प्रबंधित किए हैं जो बताते हैं कि यह व्यवहार अपेक्षित है, लेकिन ऐसा लगता है कि इसे किसी भी तरह से आदेश देने के लिए कॉन्फ़िगर करना संभव है।
हमारी कतारों व्यवहार कर रहे हैं, तो मुझे नहीं लगता कि अनुक्रम संख्या को जोड़ने और गंतव्य पर resequencing के रूप में है कि बाहर transactionality
खो देगा, काम करने के लिए जा रहा है कि मैं विशेषता [DeliveryRequirements(RequireOrderedDelivery=true, QueuedDeliveryRequirements=QueuedDeliveryRequirementsMode.Require)]
मैं निम्नलिखित त्रुटि मिलती है जोड़ते हैं :
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.
मुझे नहीं पता कि हमें यह त्रुटि क्यों मिलती है, क्योंकि सबकुछ ठीक से "प्रकट होता है"। मुझे कोई पुष्टि नहीं मिली है कि एमएसएमक्यू के लिए इस सेटिंग की अनुमति है, क्योंकि यह डब्लूएस-आरएम सेटिंग प्रतीत होता है, और AFAIK netMSMQBinding WS-RM का समर्थन नहीं करता है।
मैं इस विषय पर एक कनेक्ट बग दायर की, नहीं बिल्कुल एक ही मुद्दे के रूप में आप था, लेकिन काफी पास ... मैं भी एक समाधान है कनेक्ट बग में। इसे यहां देखें: https://connect.microsoft.com/VisualStudio/feedback/details/1107645/wcf-receives-messages-from-msmq-out-of-order –