从外部.net库获取进度信息

时间:2011-11-03 12:58:35

标签: c# tracking progress

我有一行代码,需要花费10到50分钟才能完成任务,这是一项分析工作。花费很长时间的线路位于一个线程中,但是在该托管库中没有实现回调,因此我不能让用户知道我们在解析此文件的位置。

有没有办法通过反射深入研究图书馆?我知道这听起来不对,因为反射会为您提供有关库类型和代码的信息,但它是否在运行时对外部库执行任何有用的操作?我希望这个问题很明确。

谢谢,

2 个答案:

答案 0 :(得分:1)

您可以使用http://www.reflector.net/查看库中的代码实际执行的操作,但除非您找到任何回调挂钩,否则其他内容并不多。

答案 1 :(得分:1)

如果没有回调,你可能会因为某些其他可观察到的副作用而估计剩余时间。

跟踪之前运行所花费的时间并基于此估算进度是否有效?

如果输出是某个外部文件/数据库,你可以检查一下吗?

如果输出是内存中的内容,你可以检查另一个线程中的对象(如果你创建它)或使用一些“不安全”代码来检查内存,如果你没有。