내 웹 API에서 Ninject를 사용하고 있습니다. 나는 다음과 같은 문제가있다. 두 개의 API 컨트롤러 (ControllerA와 ControllerB)가 있다고 가정 해 봅시다. 둘 다 MyClass에 의존하고 MyClass는 ClientFactory에 의존하고 ClientFactory는 Resolver에 의존합니다.Ninject는 컨트롤러 기반의 종속성을 주입합니다.
public class MyClass
{
public MyClass(IClientFactory clientFactory)
{ ... }
}
public interface IClientFactory
{
Client CreateClient();
}
public class ClientFactory : IClientFactory
{
private readonly IResolver _resolver;
public ClientFactory(IResolver resolver)
{
_resolver = resolver;
}
...
}
public class ResolverA : IResolver
{
}
public class ResolverB : IResolver
{
}
public ControllerA : ApiController
{
public ControllerA(MyClass myClass)
{
...
}
}
public ControllerB : ApiController
{
public ControllerB(MyClass myClass)
{
...
}
}
I는 MyClass에 ControllerB가 주입되는 경우가 MyClass에 ClientFactory에 ControllerA 및 ResolverB 주입시에 ClientFactory ResolverA를 사용하려는 것이다. Ninject로 구성 할 수 있습니까?
감사합니다.
문맥 적 바인딩을 보았습니까? https://github.com/ninject/ninject/wiki/Contextual-Binding –