Итак, у меня есть сервер и клиент, которые обмениваются различными данными и в-четвертых.Первоначально у меня был сложный метод, который прошел через байтовый массив и преобразовал все его переменные и строки, одну за другой, в то, что они должны были быть.Я узнал, что могу поместить все переменные в объект и преобразовать его в байтовый массив, используя
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, Version = 1.0.0.0, Culture = нейтральный, PublicKeyToken = null '."test1s - это просто название маленькой серверной программы, которую я создал, чтобы поиграть с этим.Очевидно, что приложению требуется некоторая дополнительная информация для преобразования этого массива обратно в объект, поэтому есть ли способ, которым я могу это сделать, или я решаю проблему неправильно?
Что я хочу сделать, это получитьобъект только из нескольких переменных и строк, преобразовать его в байтовый массив, отправить в другое приложение и преобразовать обратно в объект.Таким образом, мне не нужно играть с байтовым массивом для извлечения всех моих переменных и строк.
Спасибо