C# AOP 方法拦截子方法调用?
我的 AOP (C#) 实现始终拦截第一个(公共)方法调用,但不会拦截第一个拦截方法中调用的后续方法,这是 ContextBoundObject AOP 实现的限制还是我做错了?
[InterceptMe]
public void MethodOne()
{
MethodTwo();
}
[InterceptMe]
public void MethodTwo()
{
//not intecepted from MethodOne Call
}
有什么想法吗?
My AOP (C#) implementation always intercepts the first (public) method call but not subsequent methods called within the first intercepted method, is this a limitation with ContextBoundObject AOP implementations or am I doing it wrong?
[InterceptMe]
public void MethodOne()
{
MethodTwo();
}
[InterceptMe]
public void MethodTwo()
{
//not intecepted from MethodOne Call
}
Any Ideas?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
AFAIK,上下文绑定对象拦截仅适用于拦截上下文边界处的调用。由于 methodtwo 与 methodone 位于同一上下文中,因此它不会跨越边界,也不会被拦截。
AFAIK, context bound object interception only works for intercepting calls at a context boundary. Since methodtwo lies within the same context as methodone, it does not cross a boundary and will not be intercepted.