C# AOP 方法拦截子方法调用?

发布于 2024-09-24 15:53:15 字数 283 浏览 7 评论 0原文

我的 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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

铁憨憨 2024-10-01 15:53:15

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.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文