0
我发现,如果我转换一个对象的字节数组是这样的:WCF序列化和性能
MemoryStream memorystream = new MemoryStream();
BinaryFormatter bf = new BinaryFormatter();
bf.Serialize(memorystream, objectToSerialize);
byte[] toSend = memorystream.ToArray();
,然后发送一个字节数组通过WCF(WsHttpBinding
/NetTcpBinding
),然后在序列化客户端也使用BinaryFormatter
,与通过WCF发送对象相比,它花费的时间要少得多。
如何启用WCF将发送给它的任何对象转换为字节数组,然后才将其发送给客户端?
据我了解,WCF转换与DataContractSerizalizer对象WCFMessage看看这个sample project,然后格式化(本文二进制)转换为二进制格式。我在寻找的是在对象通过DCS之前将其转换,因为DCS需要大量时间来序列化对象。 – 2014-11-05 14:06:05
请注意,以这种方式进行序列化时,您可以获得性能,但会失去在其他平台或其他版本的对象中反序列化的能力(如果添加了字段,序列化将失败) – ShayD 2014-11-05 14:12:25