0

我正在尝试实现 http 处理程序以通过 wp 后台传输处理文件上传。我试过这个:

            var request = new BackgroundTransferRequest(@"http://computerName/test.ashx")
            {
                Method = "POST",
                TransferPreferences = TransferPreferences.None,
                UploadLocation = new Uri(@"shared/transfers/testfile.txt", UriKind.RelativeOrAbsolute)
            };

在这种情况下,我的手机总是发送 Range:0- 。ContentLength 等于实际源文件大小。请求流包含所有数据......我不知道如何让它部分发送数据。而且,我找不到任何关于上传如何工作、它使用什么标题等的实际信息。服务器没有任何规格!

4

1 回答 1

0

遗憾的是,BackgroundTransferRequests 不支持上传或下载范围。如果您在应用未运行时不需要允许传输,我建议您编写自己的传输代码。然后您可以支持 RANGE 并且您可以控制并发传输的数量(并且您可以绕过手机的 2 传输限制)并且您不必处理各种文件大小/网络类型限制。

以下是通过以下链接解释这一点的文档:http: //msdn.microsoft.com/en-us/library/windowsphone/develop/hh202955%28v=vs.105%29.aspx#BKMK_BackgroundTransferPolicies

BackgroundTransferRequest 对象的 Headers 属性用于设置传输请求的 HTTP 标头。以下标头保留供系统使用,不能由调用应用程序使用。当使用 Add(BackgroundTransferRequest) 方法对传输请求进行排队时,将以下标头之一添加到 Headers 集合将导致引发 NotSupportedException: • If-Modified-Since

• If-None-Match

• 如果范围

• 范围

• 除非-修改-自

于 2013-05-08T21:53:41.663 回答