【问题标题】:WCF Streamed and Compact Framework 3.5WCF 流式和紧凑型框架 3.5
【发布时间】:2014-05-05 08:25:12
【问题描述】:

我有一个 WCF 服务,它的传输模式设置为流式传输。该服务需要接受一个流。

我的客户端是 Compact Framework 3.5。在客户端中,我有 n 个包含大数据的列表对象。我想将此对象序列化为流式传输并将其发送到 WCF 服务,在那里我将对其进行反序列化。

由于 Compact Framework 中的序列化选项有限,因此这是一项任务。

目前我有以下序列化:

 ServiceClient sc = new ServiceClient(CommonClient.MyDefaultBinding(), CommonClient.MyEndpointAddress);

  MemoryStream s = new MemoryStream();
  XmlSerializer serializer = new XmlSerializer(typeof(ScannerService.AscAssetCaptureCollection));

  serializer.Serialize(s, serverCollection);

  OnComplete(sc.Send((Stream)s));

这不起作用。我在尝试发送时遇到的错误是:

类型 System.IO.MemoryStream 不是预期的。使用 XmlInclude 或 SoapInclude >属性指定静态未知的类型。

有谁知道我怎样才能做到这一点?

【问题讨论】:

    标签: wcf serialization compact-framework


    【解决方案1】:

    .NET CF 没有流式传输。由于内存限制,.NET CF/WIN CE 的 WCF 版本有一个大大简化的工具集。在您的情况下,从 .NET CF 设备上传文件的唯一选择是缓冲,尽管 CF 可能能够接收流(不确定。我从未尝试过。)您的绑定选项也受到限制和加密 - SSL 不起作用,只有消息加密。

    这是 .NET 3.5 CF 中可用功能子集的链接

    http://blogs.msdn.com/b/andrewarnottms/archive/2007/08/21/the-wcf-subset-supported-by-netcf.aspx

    祝你好运...我能够将文件上传/下载到 CF,但这并不容易。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2010-09-18
      • 2011-02-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-03-15
      • 1970-01-01
      相关资源
      最近更新 更多