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