AutoFac是一个开源的轻量级的依赖注入容器,也是.net下比较流行的实现依赖注入的工具之一。 将Autofac整合到你的应用的基本流程如下:
- 按照 控制反转(IoC) 的思想构建你的应用.
- 添加Autofac引用.
- 在应用的 startup 处
- 创建 ContainerBuilder.
- 注册组件.
- 创建容器,将其保存以备后续使用.
- 应用执行阶段
- 从容器中创建一个生命周期.
- 在此生命周期作用域内解析组件实例.
配置
安装 NuGet 程序包: Autofac 6.0.0
创建一个 ContainerBuiler 注册接口和实现关系 通过 ContainerBuiler 的 Build 方法,得到 IContainer 容器 通过 IContainer 容器获取实例 使用服务
//实例化一个autofac的创建容器
var builder = new ContainerBuilder();
//注入SerVice层,作为接口
Assembly services = Assembly.Load("House.SerVice");
builder.RegisterTypes(services.GetTypes()).AsImplementedInterfaces();
//调用者
Assembly controllers = this.GetType().Assembly;
builder.RegisterControllers(controllers);
//执行者
var container = builder.Build();
//将MVC的控制器对象实例 交由autofac来创建
DependencyResolver.SetResolver(new AutofacDependencyResolver(container));