我正在使用Autofac和DynamicProxy2拦截我的类
builder.RegisterType<Calculator>().As<ICalculator>().EnableInterfaceInterceptors()
.InterceptedBy(typeof (CallLogger));
这将拦截给定接口上的所有方法。
有没有办法只拦截界面的特定方法?
答案 0 :(得分:2)
我可以想到几种方法,而且可能还有更多方法。
您可以创建自定义属性,例如[LogCall]
或[DoNotLogCall]
(选择加入或退出)并将其应用于要拦截的方法,然后检查{{1}内是否存在属性}。
或者,您可以使用要记录的方法的名称(或要查找的规则)配置CallLogger
。