2013-07-13 5 views
5

dll로 표시된 가장 욕심 많은 생성자를 찾으려면 Autofac을 사용하려고합니다.가장 욕심 많은 생성자를 찾지 못하는 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)); 

아무것도 : 나는 autofac와 함께 물건을 등록하지 어떻게 지금이이

public SimpleAuthenticationController() { .. } 

public SimpleAuthenticationController(IAuthenticationCallbackProvider callbackProvider) : this() 

:

두 ctors 있습니다.

그러나 이것은 내가 생각할 수있는 유일한 이상한 것입니다.

  1. typeof(MvcApplication) 내가 수동으로 AddReferences를 통해 추가 된 -seperate- DLL에서 발견된다 global.asax
  2. typeof(MvcApplication)에서이 코드에 존재하는 동일한 프로젝트입니다.

누구나 내가 뭘 잘못했는지 알아?

+0

매개 변수없는 생성자를 일시적으로 주석 처리하면 어떻게됩니까? 다른 매개 변수를 사용하여 성공적으로 해결합니까? –

+0

확인해 보겠습니다. .. –

+0

을 확인하십시오. 매개 변수없는 ctor가 주석 처리 된 상태로 잘 작동합니다. –

답변

2

문제는 제 욕심이 불려갔습니다.하지만 탐욕스러운 사람을 바라 보았을 때, 저는 : this()을하고있는 것을 볼 수 있습니다.

매우 불문하고 새내기 오류입니다.

그래서 욕심이 심한 ctor를 호출했지만 범위에 들어가기 전에 다른 매개 변수없는 ctor에 거품을 일으켜야합니다.

그리고 나는 욕심 거리는 소리를 건너 뛰고 있고 매개 변수가없는 것을 때리고 있다고 계속 생각했습니다.

사용자와 키보드 사이의 오류입니다.

관련 문제