我正在使用mvc mini profiler來分析NUnit測試套件。 我只是好奇是否有可能使用mvc mini profiler的分析機制作爲一個方面,也就是說,而不是使用那些使用語句的人,我可能不會在某種程度上提供某種屬性,而這些屬性超出了我想要配置的方法? 我知道這會殺死我們用迷你分析器獲得的粒度,但在某些情況下,使用AOP方法更合適。MVC Mini Profiler的AOP
想法?建議?
謝謝你一堆。
我正在使用mvc mini profiler來分析NUnit測試套件。 我只是好奇是否有可能使用mvc mini profiler的分析機制作爲一個方面,也就是說,而不是使用那些使用語句的人,我可能不會在某種程度上提供某種屬性,而這些屬性超出了我想要配置的方法? 我知道這會殺死我們用迷你分析器獲得的粒度,但在某些情況下,使用AOP方法更合適。MVC Mini Profiler的AOP
想法?建議?
謝謝你一堆。
您需要編碼,因此您必須查看PostSharp,Roslyn或其他IL weaving機制。
是的,這是完全可能的。在我的情況下,我使用的是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
}
注意:我知道你的喜好進行編織,而不是通過代理攔截,但我張貼以防其他人發現它有用。
第一次看看Roslyn。 PostSharp即使他們的入門版是免費的,我也不想使用。我想使用免費的開源代碼,並使用IL代碼編織,而不是使用代理。似乎網點在這方面並不多。 –
看看單塞西爾然後http://www.mono-project.com/Cecil –