I have a few large object graphs which I have serialised, and some of them take a few moments to deserialise.
At this stage, I'm quite happy with my little "Please Wait..." box which appears and then disappears at completion, but I was just toying with the idea of having some sort of progress bar in the event that deserialisation starts taking longer.
It doesn't seem like there's any way to get the progress of the built-in Deserialize()
method for the BinaryFormatter
object. I suspect that had such a feature been included, there would be some sort of asynchronous callback which would poll whenever a block of bytes was read from the stream.
Have any of you seen an implementation of ProgressBar-like behaviour with object serialisation/deserialisation?
Stephen Toub discusses an approach to this problem in the .NET Matters column of the December 2006 MSDN Magazine.
He implements a wrapper around the stream which then allows intercepting of the Read method and raising a suitable event to signal progress.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With