Autofac 资料整理

autofac
一、 Autofac概念

  1. 基本概念
    Autofac 是一款.NET IoC 容器 . 它管理类之间的依赖关系, 从而使 应用在规模及复杂性增长的情况下依然可以轻易地修改 . 它的实现方式是将常规的.net类当做 组件 处理.
  2. 注册组件
    在应用启动的地方, 你需要添加一个 ContainerBuilder 并且通过它注册你的 组件 . 组件 可以是一个表达式, .NET 类型, 或者其他暴露一个或多个 服务 的一段代码, 同时它也可以引入其他的 依赖 .我们通过创建 ContainerBuilder 来注册 组件 并且告诉容器哪些 组件 暴露了哪些 服务.
  3. 解析服务
    在 注册完组件并暴露相应的服务后, 你可以从创建的容器或其子 生命周期 中解析服务. 有时在我们的应用中也许可以从根容器中解析组件, 然而这么做有可能会导致内存泄漏.
  4. 生命周期
    生命周期作用域是可释放的并且追踪组件的释放, 因此确保你总是调用了 “Dispose()”" 或者把它们包裹在 “using” 语句内.
    二、 项目中应用
  5. 添加测试的类和接口
    在这里插入图片描述
  6. Services.Host.IIS.App_Start->WebApiConfig,调用注册Autofac Register.
    在这里插入图片描述
  7. AutofacConfig,注册组件和控制器.
    在这里插入图片描述
  8. 添加autofac.json文件,将需要暴露的类和接口添加进”components”.
    “defaultsAssembly”:默认程序集
    “components”:组件
    在这里插入图片描述
    “autoActivate”: A Boolean indicating if the component should auto-activate.
    “injectProperties”: A Boolean indicating whether property (setter) injection for the component should be enabled.
    “instanceScope”: Instance scope for the component.
  9. 选择一个Controller并在其构造函数中注入接口,进行测试.
    在这里插入图片描述
    三、链接
    1.https://autofaccn.readthedocs.io/zh/latest/lifetime/working-with-scopes.html
    2.https://nblumhardt.com/2011/01/an-autofac-lifetime-primer/
    3.https://github.com/autofac/Examples/blob/master/src/ConfigurationExample/Program.cs
    4.https://www.cnblogs.com/weifeng123/p/8855629.html
    5.https://blog.csdn.net/weixin_33904756/article/details/86135391?utm_medium=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-7.nonecase&depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-7.nonecase
    6.https://blog.csdn.net/carcarrot/article/details/103253488
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值