Я встраиваю приложение 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. Есть ли способ убедиться, что все данные сериализуются, и все они десериализованы, чтобы предотвратить это?