我正在尝试用于MS企业库日志应用程序块的手放在实验室上。
通过添加一个跟踪,我在我的“平面文件”侦听器上得到一条‘消息’,在方法'EnoughPI.Calc.Calculator.Calculate‘中,在’EnoughPI.Calc.Calculator.Calculate‘中,在767616631287998条滴答处(经过时间: 10.292秒),在’EnoughPI.Calc.Calculator.Calculate‘方法中得到一条’消息:活动‘'6455494c-0602-45c9-8a10-052cdd39e5cb’“。
我也可以从跟踪中得到经过的时间‘单独’,或者说经过抽搐。
谢谢,
发布于 2012-04-23 07:35:09
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实现(基于企业库代码),它公开您感兴趣的任何属性。
https://stackoverflow.com/questions/10275820
复制相似问题