2

我正在使用 mvc mini profiler 来分析 NUnit 测试套件。我只是好奇是否可以使用 mvc mini profiler 的分析机制作为一个方面,即,而不是让那些 using 语句,我不能以某种方式在我想要分析的方法之上提供一些属性吗?我知道这会破坏我们使用迷你分析器获得的那种粒度,但在某些情况下,使用 AOP 方法更合适。

想法?建议?

谢谢一堆。

4

2 回答 2

3

您需要编织代码,因此您必须查看PostSharpRoslyn或其他一些IL 编织机制。

于 2012-12-31T02:26:38.923 回答
3

是的,这是完全可能的。就我而言,我使用的是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
}

注意:我知道您的偏好是编织而不是通过代理拦截,但我发布它以防其他人发现它有用。

于 2013-01-11T06:34:47.707 回答