【发布时间】:2015-05-18 17:48:16
【问题描述】:
我尝试 PostSharp AOP 已经有一段时间了。我能够设计简单的方面并很好地使用它们。但我正在努力寻找实现这种情况的最佳方法。
场景:
在进入和退出时记录方法。
在方法中记录开发者指定的语句。
假设我已经构建了一个 Apsect(LogMethodAspect),它在进入和退出期间记录方法。
但是,现在我想记录一个特定的语句。我希望此语句成为同一日志的一部分。
选项:
- 创建另一个将记录参数的方面 (LogStatementAspect),现在调用它 记录语句时的方法。
- 使用一种名为“LogThis”的方法创建一个接口,并在 程序集专门为“LogThis”方法指定了一个方面。
我正在尝试找到一种合适的方法,以便它需要最少的依赖。
你能在语句上创建一个方面吗? 可以直接调用底层的 Aspect 方法吗?
任何帮助都会很棒。
示例伪代码:
[LogMethodAspect]
Mothod1 (input1, input2)
{
Do Something
"Log this info" // How can I re-use the logging methodology already created in the aspect - LogMethodAspect
Do Something more
}
【问题讨论】: