记录在C#中执行方法所用时间的有效方法

时间:2011-11-30 09:22:09

标签: c# asp.net asp.net-mvc-3 c#-4.0

我正在寻找一种简单,可重用的方法来记录在我的.NET(MVC)项目中执行方法所花费的时间,并使用NLog将其记录下来,并想知道是否有人对如何进行任何建议实现这个?

为了维护干净的代码和可读性,如果可能的话,我真的不想将它集成到我的代码中。

如果有人有任何建议,我很乐意听到。

3 个答案:

答案 0 :(得分:10)

使用Stopwatch

Stopwatch time = Stopwatch.StartNew();
time.Stop();
var milliseconds= time.ElapsedMilliseconds;

答案 1 :(得分:5)

既然你提到你想避免改变现有代码,那么AOP(面向方面​​编程)会派上用场

这是一篇博文,使用PostSharp准确描述了这种情况: http://theburningmonk.com/2010/03/aop-method-execution-time-watcher-with-postsharp/

答案 2 :(得分:3)

您可能希望看一下:

http://code.google.com/p/mvc-mini-profiler/

由好人在堆栈交换中撰写。