Итак, у меня есть сервер и клиент, которые передают различные данные обратно и четвертый. Изначально у меня был сложный метод, который просматривал массив байтов и преобразовывал все его переменные и строки, одну за другой, в то, что они должны были быть. Я узнал, что могу поместить все переменные в объект и преобразовать его в массив байтов с помощью
private static byte[] ObjectToByteArray2(Object obj)
{
if (obj == null)
return null;
BinaryFormatter bf = new BinaryFormatter();
MemoryStream ms = new MemoryStream();
bf.Serialize(ms, obj);
return ms.ToArray();
}
И преобразовать его обратно с помощью
private static Object ByteArrayToObject(byte[] arrBytes)
{
MemoryStream memStream = new MemoryStream();
BinaryFormatter binForm = new BinaryFormatter();
memStream.Write(arrBytes, 0, arrBytes.Length);
memStream.Seek(0, SeekOrigin.Begin);
Object obj = (Object)binForm.Deserialize(memStream);
return obj;
}
Проблема в том, что как только я отправлю этот массив байтов по сети в другое приложение, я могу 'Не просто используйте этот метод для его обратного преобразования, я получаю сообщение об ошибке «Невозможно найти сборку test1s, Версия = 1.0.0.0, Культура = нейтральная, PublicKeyToken = null». test1s - это просто название небольшой серверной программы, которую я сделал, чтобы поиграть с этим. Очевидно, что приложению требуется дополнительная информация для преобразования этого массива обратно в объект, так что могу ли я как-то это сделать, или я ошибаюсь в проблеме?
Здесь я хочу достичь ничего не стоящего но несколько переменных и строк, преобразовать его в массив байтов, отправить в другое приложение и преобразовать обратно в объект. Таким образом, мне не нужно играть с байтовым массивом для извлечения всех моих переменных и строк.
Спасибо