AutoFac依赖注入容器

173 阅读1分钟

AutoFac是一个开源的轻量级的依赖注入容器,也是.net下比较流行的实现依赖注入的工具之一。 将Autofac整合到你的应用的基本流程如下:

  1. 按照 控制反转(IoC) 的思想构建你的应用.
  2. 添加Autofac引用.
  3. 在应用的 startup 处
  4. 创建 ContainerBuilder.
  5. 注册组件.
  6. 创建容器,将其保存以备后续使用.
  7. 应用执行阶段
  8. 从容器中创建一个生命周期.
  9. 在此生命周期作用域内解析组件实例.

配置

安装 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));