如何将自定义对象序列化为流(WCF Http Binding - TransferMode = Streamed)

时间:2011-08-18 08:55:37

标签: c# asp.net wcf c#-3.0 wcf-binding

我想知道如何将自定义对象序列化为流并通过WCF服务发送流。我想使用XMLSerializer并将对象序列化为MemoryStream并将其从客户端传递给OperationContract方法的Stream类型参数,当从服务接收到请求时,Stream将被反序列化回对象。

您的建议将不胜感激!

2 个答案:

答案 0 :(得分:0)

要传输大数据时应使用的流模式。 流模式可能会在传输层上增加一些开销。 您也会失去WCF提供的自动序列化。

更新 XmlSerializer对大数据不利,因为它使用DOM。 DOM解析器在内存中加载整个xml内容,你将失去流媒体的优势(通过chunck数据生成/消除chunck)。 二进制或自定义序列化应该是你的方式。 另外,不要忘记应用压缩(更多详情http://social.msdn.microsoft.com/Forums/en-US/dataservices/thread/12557249-2775-44e4-bc39-49585cf15873/

答案 1 :(得分:0)