【发布时间】:2018-02-09 11:42:39
【问题描述】:
我正在努力寻找最佳方法来衡量一种方法在 Application Insights 上记录它们的持续时间,我知道如果我们这样做是有可能的:
public void TestMethod()
{
var sw = Stopwatch.StartNew();
//code here
sw.Stop();
Console.WriteLine("Time elapsed: {0}", sw.Elapsed);
}
但是,正如你所想的,我不想在所有方法上都写它,理想情况下,我想使用一个装饰器,类似于这个。
[MeasureTime]
public void TestMethod()
{
//code here
}
或类似的东西。所以我的问题是:我怎样才能构建这样的东西?有没有更好的方法?
提前致谢!
【问题讨论】:
-
这个问题是题外话,因为它要求做某事的“最佳”方式总是基于意见,正如这里的答案已经证明的那样。
-
就个人而言,我想知道自定义属性是否适合这种情况,以及如何实现。
-
保证每个人都忘记规则的问题的最佳方式是什么?轻松提出编程练习题,以便人们展示他们的聪明才智。 OP 和支持者或许应该查看How to Ask
标签: c# .net performance logging azure-application-insights