如何将多个Autofac容器部署到Owin WebApi2

时间:2017-04-06 08:32:23

标签: asp.net-web-api owin autofac

我需要为不同的控制器使用多个Autofac容器。例如,我有2个WebApi控制器应该使用container1作为依赖项解析器,3个其他WebApi控制器应该使用container2作为依赖项解析器。我正在使用Owin WebApi2。我能这样做吗?

1 个答案:

答案 0 :(得分:1)

我通过在另一个容器中注册多个容器来解决问题。因此,为了在适当的控制器中使用适当的容器,我需要手动解决所需的依赖关系:

class SomeController : ApiController
{
    private ISomeDep _dep;

    public SomeController(IComponentContext container)
    {
        // Resolve some dep. from the first container.
        _dep = container.Resolve<IFirstContainer>().Resolve<ISomeDep>();
    }
}