साथ autofac में पंजीकरण नामित उपयोग मैं autofac मेरी asp.net MVC के नियंत्रकों की निर्भरता इंजेक्शन करने के लिए है, तो तरह की स्थापना की है:MVC नियंत्रक इंजेक्शन एकीकरण
System.Web.Mvc.DependencyResolver
.SetResolver(new AutofacDependencyResolver(container));
और यह ठीक काम कर रहा है। हालांकि, मैं एक अंतरफलक के कई कार्यान्वयन (जैसे कि, IFoo
) है कि मैं नामित उदाहरणों के रूप में पंजीकृत करना चाहते हैं:
builder.Register<Bar>(c => new Bar()).Named<IFoo>("bar");
builder.Register<Baz>(c => new Baz()).Named<IFoo>("baz");
...
और मैं कई नियंत्रकों जो उनके निर्माता में एक IFoo
लेने की है। लेकिन प्रत्येक नियंत्रक को IFoo
के एक अलग ठोस कार्यान्वयन की आवश्यकता होती है। मैं ऑटोफैक कैसे बता सकता हूं कि नियंत्रक को "बार" की आवश्यकता है और किसके लिए "बाज़" की आवश्यकता है?
धन्यवाद, यह काम करता है। कभी-कभी एक नियंत्रक को एक से अधिक 'IFoo' की आवश्यकता होगी - क्या मैं निर्दिष्ट कर सकता हूं कि कौन सा पैरामीटर नाम कार्यान्वित किया गया है? –
मैंने अपना जवाब अपडेट कर दिया है। – nemesv