Type Interceptors
Type Interceptors
Castle.Core, part of the Castle Project, provides a method interception framework called “DynamicProxy.”
The Autofac.Extras.DynamicProxy
integration package enables method calls on Autofac components to be intercepted by other components. Common use-cases are transaction handling, logging, and declarative security. You can use Autofac.Extras.DynamicProxy2
for Autofac versions up to 4.0.0
builder.RegisterType<AdminWebProxyObject>().As<IAdminWebContract>().InstancePerLifetimeScope().EnableInterfaceInterceptors().InterceptedBy(typeof(BoAuditTraceInterceptor));
关于循环引用的问题
手动new的接口的实现类的实例,然后调用方法,不会触发intercept
假设有接口IA和一个IInterceptor的实现ChuckIntercept。
IA的实现通过autofac进行解析,在一个静态类B中。
interface IA
{
string GetConnectionString();
}
class A : IA
{
}
class B
{
public static IA InstanceA; //autofac负责resolve
}
ChuckIntercept : IIntercept
{
//如果在这里需要用到A里面的GetConnectionString方法
只能自己在这边new一个A的实例,不可以使用autofac的解析,否则会循环触发intercept方法
}
作者:Chuck Lu GitHub |
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· DeepSeek 开源周回顾「GitHub 热点速览」
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
2017-06-04 CSS Text