स्रोतों में comment है TryAdd
संस्करण सेवा को जोड़ता नहीं है यदि यह पहले से ही IServiceCollection
में पंजीकृत है। लेकिन दस्तावेज़ इस विधि का जिक्र नहीं करते हैं। जब इसका उपयोग किया जाना चाहिए?AspNet Core DI: TryAdd बनाम उपयोग जोड़ें
उत्तर
आमतौर पर यदि आपके पास निर्भरता वाले पुस्तकालय हैं तो आप IServiceCollection का एक विस्तार विधि तैयार करेंगे कि आपके लाइब्रेरी का उपभोक्ता डिफ़ॉल्ट निर्भरताओं को तार करने के लिए स्टार्टअप से कॉल करेगा।
.TryAdd आपके विस्तार विधि के अंदर उपयोगी है जब इंटरफ़ेस का केवल एक कार्यान्वयन किया जाना चाहिए। फिर यदि कोई डिफ़ॉल्ट कार्यान्वयन ओवरराइड करना चाहता है तो वे को से पहले अपनी विस्तार विधि को कॉल कर सकते हैं और चूंकि उनका कार्यान्वयन पहले पंजीकृत है, TryAdd कुछ भी नहीं जोड़ देगा।
यदि आपके विस्तार विधि में उपयोग किया जाता है, तो कोई भी के बाद अपने कार्यान्वयन विधि को कॉल करके अपने कार्यान्वयन को पंजीकृत करके डिफ़ॉल्ट कार्यान्वयन को ओवरराइड कर सकता है। लेकिन इस मामले में अभी भी कई कार्यान्वयन पंजीकृत हैं, इसलिए कोई भी आईफू के आईनेमरेबल पर निर्भरता ले सकता है और पंजीकृत सभी कार्यान्वयन प्राप्त कर सकता है। लेकिन अगर वे IFoo पर निर्भरता लेते हैं तो उन्हें केवल एक डिफ़ॉल्ट यानी अंतिम जोड़ा जाता है।
- 1. DI
- 2. DI
- 3. AspNet vNext पर केस्ट्रल/
- 4. aspnet कोर एकीकरण लौटने 404
- 5. .NET Core
- 6. Asp.Net Core
- 7. 'core-js'
- 8. DI और JSON.NET
- 9. क्या ApiController .NET Core
- 10. एमईएफ बनाम मोनो। जोड़ें
- 11. (get-unsat-core) Z3
- 12. बेस्ट प्रैक्टिस .NET CORE
- 13. जावा स्टैक पुश() बनाम जोड़ें()
- 14. संभावित AspNet IdentityResult त्रुटियां क्या हैं?
- 15. System.ComponentModel.BindingList: जोड़ें (ऑब्जेक्ट) बनाम AddNew()
- 16. अनुप्रयोगों में साझा लाइब्रेरी के साथ DI का उपयोग
- 17. java.lang.NoClassDefFoundError: org/springframework/core/defaultParameterNameDiscoverer
- 18. ASP.NET कोर 1.0 में DI में स्टार्टअप क्लास में IHttpContextAccessor को कैसे जोड़ें?
- 19. .NET-Core अनुप्रयोग में पायथन का उपयोग कैसे करें?
- 20. DI: इंजेक्ट करने के लिए कितना?
- 21. ES2016 सजावट के साथ Angular2 DI?
- 22. .net mvc async के लिए DI/IoC/
- 23. गिट एड * (तारांकन) बनाम गिट जोड़ें। (अवधि)
- 24. कन्स्ट्रक्टर पैरामीटर के साथ DI संयोजन?
- 25. DI: IDISposable ऑब्जेक्ट्स का जीवन संभालना
- 26. क्या हमें DI के लिए इंटरफेस चाहिए?
- 27. Azure.ConfigurationManager .Net Core के साथ संगत है?
- 28. गिट जोड़ें। Git बनाम प्रतिबद्ध -एक
- 29. EntityFramework Core Database.EnsureCreated डेटाबेस नहीं बनाता
- 30. हाइब्रिड एमवीसी/वेब एपीआई नियंत्रक साइट में AspNet पहचान