2014-11-05 48 views
0

我發現,如果我轉換一個對象的字節數組是這樣的:WCF序列化和性能

MemoryStream memorystream = new MemoryStream(); 
BinaryFormatter bf = new BinaryFormatter(); 
bf.Serialize(memorystream, objectToSerialize); 
byte[] toSend = memorystream.ToArray(); 

,然後發送一個字節數組通過WCF(WsHttpBinding/NetTcpBinding),然後在序列化客戶端也使用BinaryFormatter,與通過WCF發送對象相比,它花費的時間要少得多。

如何啓用WCF將發送給它的任何對象轉換爲字節數組,然後纔將其發送給客戶端?

+0

據我瞭解,WCF轉換與DataContractSerizalizer對象WCFMessage看看這個sample project,然後格式化(本文二進制)轉換爲二進制格式。我在尋找的是在對象通過DCS之前將其轉換,因爲DCS需要大量時間來序列化對象。 – 2014-11-05 14:06:05

+0

請注意,以這種方式進行序列化時,您可以獲得性能,但會失去在其他平臺或其他版本的對象中反序列化的能力(如果添加了字段,序列化將失敗) – ShayD 2014-11-05 14:12:25

回答