我正在使用 mvc mini profiler 来分析 NUnit 测试套件。我只是好奇是否可以使用 mvc mini profiler 的分析机制作为一个方面,即,而不是让那些 using 语句,我不能以某种方式在我想要分析的方法之上提供一些属性吗?我知道这会破坏我们使用迷你分析器获得的那种粒度,但在某些情况下,使用 AOP 方法更合适。
想法?建议?
谢谢一堆。
我正在使用 mvc mini profiler 来分析 NUnit 测试套件。我只是好奇是否可以使用 mvc mini profiler 的分析机制作为一个方面,即,而不是让那些 using 语句,我不能以某种方式在我想要分析的方法之上提供一些属性吗?我知道这会破坏我们使用迷你分析器获得的那种粒度,但在某些情况下,使用 AOP 方法更合适。
想法?建议?
谢谢一堆。
是的,这是完全可能的。就我而言,我使用的是Autofac,它使用 Castle 的 DynamicProxy 实现拦截。
但是一个非常基本的分析拦截器看起来像这样(在 C# 中):
public class ProfilerInterceptor : IInterceptor
{
#region Implementation of IInterceptor
public void Intercept(IInvocation invocation)
{
using (MiniProfiler.Current.Step(invocation.TargetType.Name + "." + invocation.Method.Name))
{
invocation.Proceed();
}
}
#endregion
}
注意:我知道您的偏好是编织而不是通过代理拦截,但我发布它以防其他人发现它有用。