我需要在我的应用程序中记录每个方法调用。我不想在业务层的每个方法中重复代码
我一直在研究 AOP 方法,这似乎是目前最好的选择,但我不知道如何使用这种方法。
任何建议或链接文章或示例将不胜感激。
您可以使用PostSharp,它是一个 APO 基础设施,并且您在该链接上有一个很好的示例来了解如何使用它。
如果你也需要任何日志基础设施,你可以使用log4net。
从上面的链接中,您可以看到日志属性示例,您也可以修改它以使用日志记录基础设施:
[Serializable]
public class LogAspect : OnMethodBoundaryAspect
{
public override void OnEntry(MethodExecutionArgs args)
{
Console.WriteLine(Environment.NewLine);
Console.WriteLine("Entering [ {0} ] ...", args.Method);
base.OnEntry(args);
}
public override void OnExit(MethodExecutionArgs args)
{
Console.WriteLine("Leaving [ {0} ] ...", args.Method);
base.OnExit(args);
}
}
在您的代码上使用它:
[LogAspect]
public void SomeMethod()
{
}
这将登录SomeMethod
通话