管理autofac容器设置

Dej*_*jan 5 ioc-container inversion-of-control autofac

我的一个团队成员决定在我们的一项服务上使用autofac,因为我们想尝试一下,我们坚持使用它.

现在已经过了一段时间,容器设置方法已经成长!它太大了,我们遇到了问题.

拆分它并没有带来我们寻找的结果.也许我们只是错误地使用它.

所以我的问题是:我们如何管理容器设置?我们可以转储到XML还是有其他最佳实践?

Phi*_*eck 6

有很多方法可以使用autofac管理容器设置.

最常见的方法之一是使用a Module并将其注册到构建器.您可以通过以下方式拆分多个注册组:

public class DALModule : Module
{
   protected override void Load(ContainerBuilder builder)
   {
      builder.Register<SomeDataSomething>().As<IDataSomething>();  
      builder.Register<SomeOtherSomething( c => SomeOtherSomething.Create());
      //and so on
   }
}
Run Code Online (Sandbox Code Playgroud)

然后通过代码或XML将这些分解的模块注册到构建器.(一个简单的电话builder.RegisterModule( new DALModule())会在这里做).请参阅使用模块构建结构的Wiki页面.

或者,您只能使用XML文件(或一起使用XML和模块).有关此内容,请参阅XML配置的Wiki页面.