उत्तर

26

निनजे 2 डाउनलोड में CommonServiceLocator.NinjectAdapter.dll (ज़िप फ़ाइल के 'एक्सटेंशन' फ़ोल्डर में) शामिल है। अपनी परियोजना में इस डीएलएल और Ninject.dll जोड़ें।

IKernel ninject = ...; 

var locator = new NinjectServiceLocator(ninject); 

ServiceLocator.SetLocatorProvider(() => locator); 

कृपया ध्यान दें कि आम सेवा लोकेटर (सीएसएल) एक पुस्तकालय है कि एक अमूर्त प्रदान करता है:

अपने आवेदन के स्टार्टअप पथ में (Ninject गिरी कॉन्फ़िगर करने के बाद), तो आपको निम्न कोड का उपयोग कर सकते आईओसी कंटेनर पर और इसमें एक स्थिर मुखौटा (सेवा लोकेटर पैटर्न को कार्यान्वित करना) शामिल है। यह एक आम इंटरफेस है जो डेवलपर्स एक विशिष्ट आईओसी कार्यान्वयन के आधार पर रोकने के लिए उपयोग कर सकते हैं। सीएसएल ढांचे के डेवलपर्स के लिए विशेष रूप से उपयोगी है। आवेदन डेवलपर्स निर्भरता इंजेक्शन (डीआई) पैटर्न का उपयोग करने के बेहतर हैं। जब डीआई का सही ढंग से उपयोग किया जाता है, तो एप्लिकेशन में सीएसएल के उपयोग की कोई आवश्यकता नहीं होती है। जबकि सीएसएल ढांचे के विकास के लिए अधिक उपयुक्त है, यहां तक ​​कि मुझे सीएसएल के संदिग्ध उपयोग का पता चलता है। मान लीजिए कि ज्यादातर समय इस तरह के सामान्य इंटरफेस का उपयोग उचित डिजाइन करके हटाया जा सकता है।

+0

CommonServiceLocator क्या करता है? – Chev

+0

गोचा, जानकारी के लिए धन्यवाद। मैं आपसे सहमत हुँ। – Chev

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