AutoFac基本使用-笔记

Autofac基本使用

名词解释:

组件(Components):容器中的基本单元,凡是注册到容器中的都叫组件(包含暴漏的服务类型、生命周期域、绑定的具象对象等等基本信息)

服务(Services)::类似于组件的暴露类型,As方法后面中的对象类型,可以有多个

生命周期作用域(LifeTimeScope)

  • 生命周期:服务实例在应用程序中存在的时间长度,从开始实例化到最后释放

  • 作用域:服务在应用程序中可以消费的地方

  • 生命周期作用域:上面的两个概念,应用中的一个工作单元

注册组件的几个方法

1、反射注册:直接指定注入的对象和暴露类型,使用RegisterType<T>或者RegisterType(typeof(T))方法

2、实例注册:使用RegisterInstance()方法

3、Lambda注册

4、泛型注册(最常用)

5、条件注册:

  • IfNotRegistered表示:如果没注册过xxx,就执行语句:

builder.RegisterType<TeacherRepository>()
    .AsSelf()
    .IfNotRegistered(typeof(ITeacherRepository));
  • OnlyIf表示:只有...,才会执行语句:

builder.RegisterType<TeacherService>()
    .AsSelf()
    .As<ITeacherService>()
    .OnlyIf(x => 
            x.IsRegistered(new TypedService(typeof(ITeacherRepository)))||
            x.IsRegistered(new TypedService(typeof(TeacherRepository))));

6、程序集批量注册,利用反射实

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值