2010-09-26 19 views
14

कोई भी NServiceBus 2.0 का उपयोग कर एकता 2.0 के साथ सफलतापूर्वक उपयोग कर रहा है?यूनिटी 2.0 के साथ NServiceBus?

मैंने यूनिटी 2.0 असेंबली के खिलाफ NServiceBus.ObjectBuilder.Unity.dll के स्रोतों को संकलित करने का प्रयास किया है लेकिन नई एकता में कई ऑब्जेक्ट विधियों के बदले/हटाए गए हस्ताक्षरों के कारण कई संकलन-समय त्रुटियां मिली हैं।

प्रलेखन Udi Dahan says में जो किसी भी कंटेनर को जोड़ना IContainer के 5 तरीकों को लागू करने जितना आसान है। लेकिन जब मैं NServiceBus.ObjectBuilder.Unity कार्यान्वयन में देखता हूं, तो मुझे लगता है कि बहुत अधिक काम किया जाना है। जाने क्यों?

+0

"आपका बहुत अधिक काम करने के लिए" क्या मतलब है (क्या आप अधिक विशिष्ट हो सकते हैं)? कार्यान्वयन सिर्फ उपयुक्त एकता विधियों को बुलाता है और अंतर्निहित वस्तुओं को इंटरफ़ेस के अर्थात् के अनुसार देता है। – tobsen

+0

@tobsen जब मैं इन स्रोतों को देखता हूं, मुझे सादगी दिखाई नहीं देती है: https://github.com/NServiceBus/NServiceBus/tree/master/src/impl/ObjectBuilder/ObjectBuilder.Unity। ऐसा लगता है कि कार्यान्वयनकर्ता को NServiceBus के आंतरिक वास्तुकला से अवगत होना चाहिए। अगर मैं गलत हूं तो मुझे बताएं ... –

उत्तर

3

यूनिटी, डिफ़ॉल्ट रूप से, एनएसबी की अपेक्षा से अलग व्यवहार करता है। यही कारण है कि ऑब्जेक्टबिल्डर अनुबंध के साथ इसे संगत बनाने के लिए कुछ कस्टम एक्सटेंशन की आवश्यकता है। दो प्रमुख अंतर हैं:

  • एकता को निर्भरता की आवश्यकता है संपत्ति में निर्भरता इंजेक्ट करें। एन एस बी ObjectBuilder किसी भी संपत्ति है कि प्रकार
  • मिलान जब संपत्ति इंजेक्शन कर साथ एकता अनिवार्य रूप संपत्ति निर्भरता व्यवहार करता है, जबकि एन एस बी उन्हें करने की उम्मीद है वैकल्पिक में इंजेक्षन करने की उम्मीद है।

मुझे विश्वास है कि ये सुविधाएं संस्करण 2.0 में संरक्षित हैं और उन्हें माइग्रेट करना आसान होगा। मेरे पास इस सप्ताह कुछ समय होना चाहिए और मुझे उम्मीद है कि मैं एकता v2 कार्यान्वयन तैयार करूंगा। यह समाप्त होने पर मैं आपको बता दूंगा।

संपादित करें: हो गया। यूनिट 2 ऑब्जेक्ट बिल्डर ट्रंक में है।

+1

यहां प्रतिबद्धता का लिंक दिया गया है: https://github.com/NServiceBus/NServiceBus/commit/324a112229bedd55baaff144eea9a81126a0f343 –

+0

1.2 अभी भी Nuget पर संस्करण बनाया गया है। किसी भी मौका यह अद्यतन किया जाएगा? एकता 2.x बहुत लंबे समय से बाहर हो गया है और वास्तव में इस बिंदु पर डिफ़ॉल्ट होना चाहिए। –

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