Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/333.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何反序列化所有Soap序列化对象_C#_Soap Serialization - Fatal编程技术网

C# 如何反序列化所有Soap序列化对象

C# 如何反序列化所有Soap序列化对象,c#,soap-serialization,C#,Soap Serialization,我正在对多个对象进行soap序列化,并将它们附加到一个文件中,然后我希望将所有对象都序列化到树视图中 我使用的是欲望化代码的这一部分 FileStream fs = new FileStream(fName, FileMode.Open); while (fs.Position < fs.Length) { arraylizt.Add(sf.Deserialize(fs)); } FileStream fs=newfilestream(fName,FileMode.Open);

我正在对多个对象进行soap序列化,并将它们附加到一个文件中,然后我希望将所有对象都序列化到树视图中

我使用的是欲望化代码的这一部分

FileStream fs = new FileStream(fName, FileMode.Open);
while (fs.Position < fs.Length)
{
    arraylizt.Add(sf.Deserialize(fs));
}
FileStream fs=newfilestream(fName,FileMode.Open);
而(fs.位置
它工作得很好,但有时文件中的最后一个对象并不理想化。
我不明白为什么有时候它不渴望最终的目标


请帮助我或向我建议任何其他反序列化方法。

您是否确保在关闭前写入流时刷新了流(或关闭了写入程序而不是底层流)。

您是否可以提供更多代码?问题可能出现在更高的级别上。我不认为问题可能出现在更高的级别上,我正在使用以下用于序列化的代码FileStream fs=newfilestream(fName,FileMode.Append);SoapFormatter sf=新的SoapFormatter();foreach(temp中的对象项){sf.Serialize(fs,item);}fs.Close();请帮助meI进入调试模式,我看到文件流位置指向文件末尾,在反序列化某些对象后,如果对象图结束于位置82772,但位置指向89532,跳过最后一个要反序列化的对象。在关闭r u之前,我没有刷新流,建议是否解决问题,如果是,我会这样做现在试试……应该可以,有一个写缓冲区(当您使用流时),它在达到一定大小之前不会写。试试看!我在关闭流之前尝试过刷新问题仍然存在我已经进入调试模式,并且我看到文件流位置在反序列化某些对象后指向文件的末尾,如果对象图在位置82772处结束,但位置指向89532跳过最后一个要反序列化的对象。