所以我有一个服务器和一个客户端,可以回传各种数据.最初我有一个复杂的方法,它通过字节数组并将其所有变量和字符串逐个转换为它们应该是什么.我了解到我可以将所有变量放入一个对象中并使用它将其转换为字节数组
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,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只是我用它做的小服务器程序的名称.显然,应用程序需要一些额外的信息来将这个数组转换回一个对象,所以我有什么方法可以做到这一点,或者我是否错了?
我想在这里完成的是除了几个变量和字符串之外的任何对象,将其转换为字节数组,将其发送到另一个应用程序,并将其转换回对象.这样我就不必使用字节数组来提取所有变量和字符串.
谢谢