从跟踪中获取经过时间

本文关键字:经过 时间 获取 跟踪 | 更新日期: 2023-09-27 18:32:07

我正在试用 MS 企业库 - 日志记录应用程序块的动手实验室。

通过添加跟踪,我在"平面文件"侦听器上收到一条"消息",内容为:"消息:结束跟踪:方法'EnoughPI.Calc.Calculator.Calculate'中的活动'6455494c-0655494c-0602-45c9-8a10-052cdd39e5cb'在767616631287998个刻度(运行时间:10.292 秒)"

我也可以从跟踪中"独自"获得经过的时间,或者说经过的抽搐。

谢谢

从跟踪中获取经过时间

API 不会在公共接口上公开计时信息。 您可以使用反射来获取信息,但这样做需要自担风险(因为它取决于可能会更改的内部实现):

using (Tracer tracer = new Tracer("General"))
{
    FieldInfo fieldInfo = typeof(Tracer).GetField("stopwatch", BindingFlags.NonPublic | BindingFlags.Instance);
    var sw = fieldInfo.GetValue(tracer) as Stopwatch;
    Console.WriteLine(sw.ElapsedMilliseconds);
}

另一种替代方法是编写您自己的 Tracer 实现(基于企业库代码),该实现公开您感兴趣的任何属性。