wcf - 如何实现Windows Phone 7流式上传到PC

标签 wcf windows-phone-7 rest tcp windows-phone-7.1

我正在尝试将文件(~10 MB)从 Windows Phone 7 客户端流式上传到 PC 服务器。我尝试了以下方法:

  1. REST WCF 和 WebRequest POST -> 失败,因为 WP7 API 中的 HttpWebRequest 缺少 AllowWriteStreamBuffering 和 SendChunked。
  2. 带有 MessageContract 和 Stream 的 WCF -> 失败,因为客户端应用程序上的服务代理生成器将 Stream 更改为 byte[]。

现在我正在考虑使用以下之一:

  1. 使用 WCF 自定义数据分 block 和某种 StartNewTransfer/SendChunk/CompleteTransfer 模式。
  2. 使用 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/

相关文章:

wcf - Windows 8 上使用 Microsoft 帐户的 Azure ACS 2.0

WCF - 不带 DataMemberAttribute 的 EmitDefaultValue

c# - TextBlock 未在 WP7 上呈现整个文本

python - 使用序列化器作为查询参数验证器是一个好习惯吗?

不带 .svc 扩展名的 WCF 端点地址

XP 上的 C# WCF 客户端内存泄漏

Silverlight - 将 Listbox ActualWidth 绑定(bind)到 ListboxItem 宽度

windows-phone-7 - 应用在Windows Phone 7中启动时如何显示不同的页面?

node.js - Angular2 - 组件的 OnInit 方法中的多个服务调用

rest - 在 http 请求中设置 grpc 元数据