我将Unity应用程序嵌入WPF页面,并使用命名管道在父应用程序和子应用程序之间传递数据。但是,对于我要传递的变量之一,我正在经历数据丢失。
我正在序列化数据(在本例中为List<String> shelfNumAndStatus
):
IFormatter f = new BinaryFormatter();
server = new NamedPipeServerStream("CENSORED", PipeDirection.InOut, 1);
f.Serialize(server, shelfNumAndStatus);
我正在以类似方式反序列化:
client = new NamedPipeClientStream(".", "CENSORED", PipeDirection.InOut, PipeOptions.None, TokenImpersonationLevel.None);
IFormatter f = new BinaryFormatter();
List<String> ShelfData = (List<String>) f.Deserialize(client);
但是,序列化之前的数据有326行,序列化之后的数据有276行。是否有办法确保整个数据都已序列化,并且都对它们进行了反序列化以防止这种情况发生?