如何跟踪应用程序中的所有方法

时间:2012-06-19 00:46:07

标签: c# .net logging reflection

您是否知道如何跟踪.NET应用程序中的所有方法调用。我目前的方法是在每个方法的开头写下跟踪

void DoSomething()
{
   using(new Tracer(TraceCategory)
{
   //Perform all action here

}

}

但它很糟糕,因为它聚集了我的代码,我将不得不为我的所有方法编写跟踪。

是否有另一种方法可以记录何时调用方法以及何时完成?所有的建议都会很感激。

2 个答案:

答案 0 :(得分:4)

我所知道的唯一实用的选项是使用AOP(比如postsharp) - 一个不错的演练,请参阅here

答案 1 :(得分:3)

您应该使用Unity或PostSharp等框架。它们都有方法启动前和方法完成事件后的钩子。

Sample for Unity

PostSharp的样本已由Yahia发布。

相关问题