0

我正在尝试MS Enterprise Library - Logging Application 块的实验室

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

我是否也可以从跟踪中“单独”获得经过的时间,或者说经过的抽动。

谢谢,

4

1 回答 1

1

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 实现(基于企业库代码),它公开您感兴趣的任何属性。

于 2012-04-23T07:35:09.660 回答