【愚公系列】2022年03月 .NET架构班 021-ABP vNext 动态代理模块

本文主要探讨了ABP框架中基于Autofac.Extras.DynamicProxy的动态代理模块,介绍了Autofac的基本概念,如组件注册和服务解析,并讲解了Castle.Core在动态代理中的作用。此外,还详细阐述了EBusiness.Domain.Shared模块的日志特性和拦截器配置,以及如何在实际应用中使用这些动态代理功能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


前言

abp的拦截器实现是基于Autofac.Extras.DynamicProxy,这个包依赖两个组件:Autofac、Castle.Core(实质上是调用内部组件DynamicProxy实现动态代理)

1.Autofac概念

基本概念

Autofac 是一款.NET IoC 容器 . 它管理类之间的依赖关系, 从而使 应用在规模及复杂性增长的情况下依然可以轻易地修改 . 它的实现方式是将常规的.net类当做 组件 处理.

注册组件

在应用启动的地方, 你需要添加一个 ContainerBuilder 并且通过它注册你的 组件 . 组件 可以是一个表达式, .NET 类型, 或者其他暴露一个或多个 服务 的一段代码, 同时它也可以引入其他的 依赖 .我们通过创建 ContainerBuilder 来注册 组件 并且告诉容器哪些 组件 暴露了哪些 服务.

解析服务

在 注册完组件并暴露相应的服务后, 你可以从创建的容器或其子 生命周期 中解析服务. 有时在我们的应用中也许可以从根容器中解析组件, 然而这么做有可能会导致内存泄漏.

生命周期

生命周期作用域是可释放的并且追踪组件的释放, 因此确保你总是调用了 “Dispose()”" 或者把它们包裹在 “using” 语句内.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

愚公搬代码

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值