我已按照https://stackoverflow.com/a/9115510/1170932中的说明操作,并且“之前”的方法调用记录工作正常。但是,不是在每个方法中添加[SetMethodInfoAsMessage]注释,我宁愿在控制器/类级别添加它,如果可能的话。任何人都能指出我的一个例子吗?
另外,我意识到所有控制器的方法都必须是虚拟的,但我认为每个方法1个更改(添加虚拟)优于2个(添加[SetMethodInfoAsMessage]和虚拟)。
非常感谢。 皮特
答案 0 :(得分:1)
您可以指定其他类型的切入点,而不是使用属性切入点。例如regular expression pointcut。
您还可以定义自己的切入点,例如使用asp.net基础结构确定当前方法调用是否为操作方法的切入点。
让您的方法变得虚拟是容易被遗忘的事情。如果截获所有方法对您来说非常重要,我建议您编写一个单元测试,使用反射迭代所有控制器方法并检查虚拟访问修饰符(使用MethodInfo.IsVirtual
)。