2012-12-26 45 views
2

我正在使用mvc mini profiler來分析NUnit測試套件。 我只是好奇是否有可能使用mvc mini profiler的分析機制作爲一個方面,也就是說,而不是使用那些使用語句的人,我可能不會在某種程度上提供某種屬性,而這些屬性超出了我想要配置的方法? 我知道這會殺死我們用迷你分析器獲得的粒度,但在某些情況下,使用AOP方法更合適。MVC Mini Profiler的AOP

想法?建議?

謝謝你一堆。

回答

3

您需要編碼,因此您必須查看PostSharp,Roslyn或其他IL weaving機制。

+0

第一次看看Roslyn。 PostSharp即使他們的入門版是免費的,我也不想使用。我想使用免費的開源代碼,並使用IL代碼編織,而不是使用代理。似乎網點在這方面並不多。 –

+0

看看單塞西爾然後http://www.mono-project.com/Cecil –

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 
} 

注意:我知道你的喜好進行編織,而不是通過代理攔截,但我張貼以防其他人發現它有用。