2010-04-01 12 views
12

में नेमस्पेस द्वारा MessageEndpointMapping को कॉन्फ़िगर कैसे करें I अलग-अलग नामस्थानों से संदेशों को अलग-अलग अंतराल पर संदेश भेजकर मेरे NServiceBus कॉन्फ़िगरेशन में अपना संदेश एंडपॉइंट मैपिंग कॉन्फ़िगर करने का प्रयास कर रहा हूं।NServiceBus

जैसे, मैं अपने web.config में निम्नलिखित कॉन्फ़िगर किया है:

<MessageEndpointMappings> 
    <add Messages="Company.Messages.Accounts" Endpoint="ServiceInput" /> 
    <add Messages="Company.Messages.Payments" Endpoint="ServiceInput" /> 
    <add Messages="Company.Messages.Cancellations" Endpoint="ServiceInput" /> 
    <add Messages="Company.Messages.Notifications" Endpoint="ServiceInput" /> 
</MessageEndpointMappings> 

हालांकि, अपने आवेदन शुरू होता है, मैं निम्न अपवाद को प्राप्त होने वाली:

Spring.Objects.PropertyAccessExceptionsException: PropertyAccessExceptionsException (1 त्रुटियां); नेस्टेड PropertyAccessExceptions हैं: [Spring.Core.TypeMismatchException: गुण 'System.Collections.Hashtable] की संपत्ति मान को परिवर्तित नहीं कर सकता है [System.Collections.IDictionary] संपत्ति' MessageOwners 'के लिए आवश्यक प्रकार।, आंतरिक अपवाद: सिस्टम। ऑर्ग्यूमेंट अपवाद: समस्या संदेश असेंबली लोड करना: कंपनी। संदेश। भुगतान ---> System.IO.FileNotFoundException: फ़ाइल या असेंबली 'Company.Messages.Payments' या इसकी निर्भरताओं में से कोई भी लोड नहीं हो सका। सिस्टम निर्दिष्ट फाइल का पता लगाने में नाकामयाब रहा। फ़ाइल का नाम: 'Company.Messages.Payments'

मुझे जो दिलचस्प लगता है वह ऐसा लगता है कि ऐसा लगता है कि कंपनी.मेसेस.कॉइंट्स लेकिन दूसरी कॉन्फ़िगरेशन लाइन पर विफल रही। मैंने सोचा था कि शायद यह नहीं था कि वे सभी एक ही अंतराल पर जाएं, लेकिन इस कॉन्फ़िगरेशन को बदलने के लिए उन्हें अलग-अलग अंतराल पर जाने से मुझे प्राप्त त्रुटि संदेश नहीं बदला।

मैं क्या गलत कर रहा हूं? क्या नामस्थान द्वारा संदेशों को विभाजित करना संभव नहीं है (मैंने जो देखा है वह प्रकार और असेंबली द्वारा है)?

धन्यवाद, स्टीव

उत्तर

14

एन एस बी केवल विधानसभाओं या अंतिम बिंदुओं को अलग-अलग प्रकार के मानचित्रण का समर्थन करता है। नेमस्पेस समर्थित नहीं हैं, मेरा सुझाव है कि आप अपने प्रत्येक एंडपॉइंट्स के लिए अलग-अलग असेंबली में संदेश असेंबली को विभाजित करें।

+0

धन्यवाद एंड्रियास फिल्टर करने के लिए इस्तेमाल किया जा सकता। NServiceBus ईमेल सूची पर किसी ने सुझाव दिया कि यह संभव था, लेकिन मुझे इसे काम करने के लिए प्रतीत नहीं होता। निश्चित उत्तर के लिए धन्यवाद। ~ स्टीव – SteveBering

+0

क्या यह अभी भी चालू है? मुझे नहीं लगता कि यह है ... –

+3

3.3.0 नामस्थानों के साथ-साथ –

5

इस पेज के अनुसार यदि आप एक प्रकार निर्दिष्ट कर सकते हैं: http://docs.particular.net/nservicebus/messaging/message-owner

विशिष्ट प्रकार उनके योग्य नाम का उपयोग करके विन्यस्त किया जा सकता: "namespace.type, विधानसभा"।

+0

के लिए एक लिंक। मैंने पब सब उदाहरण कभी नहीं पढ़ा क्योंकि मुझे अभी तक इसकी आवश्यकता नहीं है, हालांकि मैंने दस्तावेज़ों में कहीं और भी थोड़ा सा नहीं देखा है। – etropic

0

NServiceBus v3.3 नामस्थान के रूप में संदेश मैपिंग

http://docs.particular.net/nservicebus/messaging/message-owner

+0

शायद डॉको को यह भी इंगित करना चाहिए कि NServiceBus (4.7 संस्करण जो मैं उपयोग कर रहा हूं!) भी विफल रहता है अगर मैं छवि एक्सटेंशन (* .dll मेरे मामले में) जोड़ता हूं। काफी काउंटर-सहज ज्ञान युक्त! – agAus

+0

हमारे पास यहां नोट है: http://docs.particular.net/nservicebus/messaging/message-owner#2-resolving-the-messages-types-to-map-resolving-with-the-assembly पर कोई विचार है हम इसे और स्पष्ट कर सकते हैं? –

संबंधित मुद्दे