我该如何使用Castle Core或其他库(只是免费库)编写Interceptor(AOP),以解决交叉切割问题

问题描述 投票:0回答:2

我想为诸如“日志记录”,“异常”之类的“横切关注点”具有这样的属性>

public class MyService
{

[Log] // Interception (AOP)
[ExceptionHandler] // Interception (AOP)
public void DoSomething()
   {

   }
}

[我知道我可以用postsharp编写这些代码,但是我想用Castle Core和...等免费库编写这些拦截。

任何人都可以帮助我并为此目的编写示例吗???我需要一个非常简单的示例来学习概念

[我想为诸如日志记录,异常等...的交叉关注问题提供这样的属性,公共类MyService {[日志] //侦听(AOP)[ExceptionHandler] //侦听(AOP)公共...

c# aop interceptor castle-dynamicproxy interception
2个回答
3
投票

Autofac是一个免费的IoC容器。我将Autofac与Autofac.Extras.DynamicProxy2 nugetdocs一起使用。

假设您知道为什么(何时)(何时不使用)拦截器,并且您想拦截某些功能:


0
投票

Java具有使用AspectJ和编织的AOP(具有代理的LTW加载时间,以及CTW的编译时间)C#(城堡)具有拦截器,也使用(动态)代理。您可以将其视为LTW变体。

© www.soinside.com 2019 - 2024. All rights reserved.