【发布时间】:2011-03-20 23:14:32
【问题描述】:
我有一些已序列化的大型对象图,其中一些需要一些时间来反序列化。
在这个阶段,我对我的小“请稍候...”框感到非常满意,它会在完成时出现然后消失,但我只是在玩弄一些进度条的想法,以防万一反序列化开始需要更长的时间。
似乎没有任何方法可以获取 BinaryFormatter 对象的内置 Deserialize() 方法的进度。我怀疑如果包含了这样的功能,就会有某种异步回调,每当从流中读取一个字节块时,它就会轮询。
你们中的任何人都见过使用对象序列化/反序列化实现类似 ProgressBar 的行为吗?
【问题讨论】:
-
对于任何感兴趣的人:我昨天实现了这个并且对结果非常满意。反序列化发生在一个单独的线程中,我假脱机一个额外的进度条线程,它监视流位置/流长度并更新进度条。它工作得很好,并且给出了反序列化进度的相当好的近似值!
标签: c# serialization progress-bar binaryformatter