2013-07-13 9 views
5

मैं संदर्भित डीएलएल में सबसे लालची कन्स्ट्रक्टर खोजने के लिए ऑटोफैक का उपयोग करने का प्रयास कर रहा हूं।ऑटोफैक सबसे लालची कन्स्ट्रक्टर नहीं ढूंढ रहा

यह नहीं ढूंढ रहा है और केवल एक पैरामीटर रहित कन्स्ट्रक्टर पाता है।

इन दो ctors हैं:

public SimpleAuthenticationController() { .. } 

public SimpleAuthenticationController(IAuthenticationCallbackProvider callbackProvider) : this() 

अब यह है कि कैसे मैं autofac साथ सामान रजिस्टर:

var builder = new ContainerBuilder(); 

builder.RegisterType<SampleMvcAutoAuthenticationCallbackProvider>().As<IAuthenticationCallbackProvider>(); 
builder.RegisterControllers(typeof(MvcApplication).Assembly); 
builder.RegisterControllers(typeof(SimpleAuthenticationController).Assembly); 

var container = builder.Build(); 
DependencyResolver.SetResolver(new AutofacDependencyResolver(container)); 

कुछ नहीं बहुत जटिल।

लेकिन यह एकमात्र अजीब बात है जिसे मैं सोच सकता हूं।

  1. typeof(MvcApplication) एक ही परियोजना में, जहां इस कोड में मौजूद है, global.asax
  2. typeof(MvcApplication) में एक -seperate- dll में पाया जाता है, जो मैं मैन्युअल AddReferences के माध्यम से जोड़ा है।

कोई भी देखता है कि मैंने क्या गलत किया है?

+0

क्या होता है यदि आप अस्थायी रूप से पैरामीटर रहित कन्स्ट्रक्टर को टिप्पणी करते हैं - क्या यह दूसरे का सफलतापूर्वक उपयोग करता है? –

+0

मैं जांच करूंगा। कृपया पकड़ें .. –

+0

पुष्टि की, पैरामीटर रहित सीटीआर के साथ ठीक काम करता है। –

उत्तर

2

समस्या यह थी कि मेरी लालची - जिसे कहा जाता है .. लेकिन यदि आप लालची-सीटीआर को देखते हैं, तो आप देखेंगे कि मैं : this() कर रहा हूं।

बहुत लंगड़ा नौसिखिया त्रुटि।

तो यह लालची सीटीओ को बुला रहा था, लेकिन इससे पहले कि यह गुंजाइश हो जाए, इसे अन्य पैरामीटर रहित सीटीआर तक बुलबुला करना होगा।

और मैंने सोचा कि यह लालची को छोड़ रहा है और केवल पैरामीटर रहित है।

उपयोगकर्ता और कीबोर्ड के बीच त्रुटि।

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