Asp.net web api 如何将多个Autofac容器部署到Owin WebApi2

Asp.net web api 如何将多个Autofac容器部署到Owin WebApi2,asp.net-web-api,owin,autofac,Asp.net Web Api,Owin,Autofac,我需要为不同的控制器使用多个Autofac容器。例如,我有2个WebApi控制器应该使用container1作为依赖项解析程序,还有3个其他WebApi控制器应该使用container2作为依赖项解析程序。我正在使用Owin WebApi2。我可以这样做吗?我通过在另一个容器中注册多个容器来解决问题。因此,为了在适当的控制器中使用适当的容器,我需要手动解析所需的依赖项,如下所示: class SomeController : ApiController { private ISomeDe

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

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

class SomeController : ApiController
{
    private ISomeDep _dep;

    public SomeController(IComponentContext container)
    {
        // Resolve some dep. from the first container.
        _dep = container.Resolve<IFirstContainer>().Resolve<ISomeDep>();
    }
}
类SomeController:ApicController
{
私人部门(部门);
公共SomeController(IComponentContext容器)
{
//从第一个容器中解析某些dep。
_dep=container.Resolve().Resolve();
}
}