我在我的网络 api 中使用 Ninject。我有以下问题。假设有两个 api 控制器(ControllerA 和 ControllerB)。两者都依赖于 MyClass,MyClass 依赖于 ClientFactory,ClientFactory 依赖于 Resolver。
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)
{
...
}
}
当MyClass被注入ControllerA时,我想在ClientFactory中使用ResolverA,当MyClass被注入ControllerB时,我想在ClientFactory中使用ResolverB。可以用 Ninject 配置吗?
谢谢你。