【问题标题】:How to seralize custom objects into stream (WCF HttpBinding - TransferMode = Streamed)如何将自定义对象序列化为流(WCF Http Binding - TransferMode = Streamed)
【发布时间】:2011-08-18 08:55:36
【问题描述】:

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

您的建议将不胜感激!

【问题讨论】:

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


    【解决方案1】:

    当您想要传输大数据时应该使用它的 Streamed 模式。 Streamed 模式可能会在传输层上增加一些开销。 此外,您会丢失 WCF 提供的自动序列化。

    更新 XmlSerializer 不适合大数据,因为它使用 DOM。 DOM 解析器将整个 xml 内容加载到内存中,您将失去流式传输的好处(逐块生成/消费块)。 二进制或自定义序列化应该是您的方式。 另外,不要忘记应用压缩(更多详情http://social.msdn.microsoft.com/Forums/en-US/dataservices/thread/12557249-2775-44e4-bc39-49585cf15873/

    【讨论】:

    • 是的,我打算传输大量数据。
    【解决方案2】:

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-07-03
      • 2011-08-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-04-02
      • 2011-01-13
      相关资源
      最近更新 更多