【发布时间】:2023-03-05 12:27:01
【问题描述】:
我正在尝试反序列化流,但总是收到此错误“在解析完成之前遇到流结束”?
代码如下:
//Some code here
BinaryFormatter b = new BinaryFormatter();
return (myObject)b.Deserialize(s);//s---> is a Stream object that has been fill up with data some line over here
有人有想法吗?
【问题讨论】:
-
除了下面指出的流位置问题之外,发生这种情况的另一个原因是您的应用在 large 文件写入磁盘之前退出(如果您正在序列化一个大量数据到文件流)。要解决此问题,您需要执行阻塞等待,直到文件完全写入,如这篇文章中所示:stackoverflow.com/questions/10982104/…
-
对我来说,从“C:\Users\
\AppData\LocalLow\”中删除保存的数据文件修复了它,因为问题是我在保存文件后更改了数据模型,这使得模型文件中的现有数据不同,并使其在反序列化时引发错误。希望对您有所帮助。
标签: c# .net serialization .net-2.0 c#-2.0