2017-03-06 2 views
1

인터페이스에서 구체적인 클래스를 해결하기 위해 컨테이너를 사용해야하는 클래스가 있습니다. 이 클래스는 생성자를 사용할 수 없으므로 container.Resolve 메서드를 사용하여 클래스를 해결하려고합니다. 내 UnityHelper에서Unity 및 Container.Resolve

, 내가 설정 내 모든 컨테이너 항목이, 문제의 하나는, 다음과 같이 정의됩니다

container.RegisterType<OAuthAuthorizationServerProvider, AuthorisationServerProvider>(); 

그리고 내 startup.cs 파일에, 나는 기반으로 클래스를 해결하려고 시도하고있다 인터페이스 :

공용 클래스 시작 { 개인 OAuthAuthorizationServerProvider _authorisationServiceProvider;

public Startup() 
{ 
    var _container = UnityConfig.GetConfiguredContainer(); 
    _authorisationServiceProvider = _container.Resolve<OAuthAuthorizationServerProvider>(); 
} 

그러나, 나는에 디자인 타임 오류가있어 '비 일반적인 방법은 입력 된 인수를 사용할 수 없습니다 Resolve'saying.

내가 제대로하고있는 곳을 보았습니다. 예 : Unity Container Resolve

내가 뭘 잘못하고 있니?

답변

1

문제는 Unity에 수동으로 참조를 추가해야한다는 것이 었습니다. 이 문제가 발생하는 경우 다음을 확인하십시오.

using Microsoft.Practices.Unity;