适用于MVC Mini Profiler的AOP

时间:2012-12-26 18:15:31

标签: aop

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

想法?建议?

非常感谢。

2 个答案:

答案 0 :(得分:3)

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

答案 1 :(得分: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
}

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