C# 从跟踪中获取ElapsedTime

C# 从跟踪中获取ElapsedTime,c#,enterprise-library,logging-application-block,C#,Enterprise Library,Logging Application Block,我正在尝试MS Enterprise Library-Logging应用程序块 通过添加跟踪,我在“平面文件”侦听器上得到一条“消息”,上面说:消息:结束跟踪:方法“EnoughPI.Calc.Calculator.Calculator”中的活动“6455494c-0602-45c9-8a10-052cdd39e5cb”在767616631287998节拍(经过的时间:10.292秒) 我还可以从跟踪中获得“单独”经过的时间,或者说是经过的抽搐 谢谢,API不会在公共接口上公开计时信息。您可以使

我正在尝试MS Enterprise Library-Logging应用程序块

通过添加跟踪,我在“平面文件”侦听器上得到一条“消息”,上面说:消息:结束跟踪:方法“EnoughPI.Calc.Calculator.Calculator”中的活动“6455494c-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);
}