मान लें कि मेरे पास निम्नलिखित वर्ग हैं जिन्हें मैं निनजेक्ट का उपयोग करके निर्माण करना चाहता हूं, निर्भरता दिखाने वाले तीरों के साथ।निंजा स्कोपिंग - पूरे ग्राफ में निर्मित एक ही उदाहरण का उपयोग करें
A > B > D
A > C > D
मैं Ninject ऐसे कॉन्फ़िगर करने के लिए है कि एक क्षणिक दायरे वाला है, यानी हर बार जब आप एक ए के लिए Ninject पूछना है चाहते हैं, आप एक नया बनाएँ। मैं यह भी चाहता हूं कि बी और सी क्षणिक हो जाएं, जब भी आप ए के लिए पूछते हैं, तो आप उनमें से एक नया प्राप्त करते हैं लेकिन मुझे डी दोनों बी और सी में पुन: उपयोग करने के लिए चाहते हैं, इसलिए हर बार जब मैं ए, प्रत्येक वस्तु में से एक का निर्माण करने के लिए Ninject चाहते हैं, दो डीएस नहीं। लेकिन मैं नहीं चाहता कि विभिन्न डी के रूप में डीएस का पुन: उपयोग किया जाए।
निनजेक्ट का उपयोग करके इसे स्थापित करने का सबसे अच्छा तरीका क्या है?
अद्यतन:
कुछ और अनुसंधान के बाद, ऐसा लगता है एकता जो मैं के लिए क्या देख रहा हूँ करता है एक PerResolveLifetimeManager है। क्या कोई निंजा बराबर है?
यदि कोई निर्भरता श्रृंखला है जिसमें ए शामिल नहीं है तो डी भी भाग नहीं लेता है? –
@ केविनबैबॉक। नहीं तो यह टूट नहीं जाएगा। फिर प्रतिनिधि निम्नलिखित पंजीकरण के बराबर 'शून्य' वापस करेगा: 'कर्नेल।()।) स्वयं()। InTransientScope(); ' –
nemesv
स्पष्टीकरण के लिए धन्यवाद। अच्छा उत्तर! –