WCF流式和Compact Framework 3.5

时间:2014-05-05 08:25:12

标签: wcf serialization compact-framework

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

我的客户端是Compact Framework 3.5。在客户端我有一个包含大数据的列表对象。我想序列化这个对象流并将其发送到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>属性指定静态未知的类型。

有谁知道我怎么能实现这个目标?

1 个答案:

答案 0 :(得分:0)

没有来自.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,但这并不容易。

相关问题