我正在尝试将文件(~10 MB)从 Windows Phone 7 客户端流式上传到 PC 服务器。我尝试了以下方法:
- REST WCF 和 WebRequest POST -> 失败,因为 WP7 API 中的 HttpWebRequest 缺少 AllowWriteStreamBuffering 和 SendChunked。
- 带有 MessageContract 和 Stream 的 WCF -> 失败,因为客户端应用程序上的服务代理生成器将 Stream 更改为 byte[]。
现在我正在考虑使用以下之一:
- 使用 WCF 自定义数据分 block 和某种 StartNewTransfer/SendChunk/CompleteTransfer 模式。
- 使用 TCP 进行流式传输 (WP7.1)
我的问题:
- 流式 WCF 或 REST 上传是否可以在 WP7.1 中工作,或者它们是否应该已经可以在 WP7 中工作? (-> 我可能做错了什么)
- 我还有哪些其他选择?
- 您更喜欢哪种方法?
最佳答案
我认为自定义分 block 是最好的,因为您不知道设备可能有哪些网络限制。将文件分成 100kb 的 block 并将其发布到您选择的网络服务。可能还值得对设备上的每个 block 进行哈希处理并首先发送哈希,这样您就可以验证每个接收到的 block 是否正确(以防万一)
关于wcf - 如何实现Windows Phone 7流式上传到PC,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7015299/