2

我通过 BackgroundTransferService 开始了 5 次上传(大小不一)。我对它的工作方式有以下疑问:

  1. 似乎在模拟器上一次上传 2 次。这是它在实际设备上的工作方式吗?我可以以编程方式更改此行为吗?
  2. 我可以指望上传按我提交的顺序发出吗?我的测试似乎得到了相互矛盾的结果。
  3. 当我在我的应用程序中检查 BackgroundTransferService 时,它​​是否也包含来自其他应用程序的请求或仅包含我的请求?
  4. 从墓碑化回来时,我是否需要重新连接所有 BackgroundTransferRequest 对象的事件?从被重新激活回来怎么办?
  5. 当我从 BackgroundTransferService.Requests 集合中删除事件时,是否需要断开事件与 BackgroundTransferRequest 的连接?
  6. 当我尝试上传不存在的 URL:Port(在 localhost 上)时,TransferStatus 报告为 WaitingForNonVoiceBlockingNetwork。上传从未真正完成/失败。这是设备上的情况吗?遇到此 TransferStatus 时我应该删除请求吗?
4

1 回答 1

1
  1. 你不能影响 BTS 的行为。如果您不喜欢它的工作方式,您可以将传输功能编写为您自己的应用程序的一部分,但您必须自己处理在后台运行。

  2. 不保证顺序。

  3. BTS 可能正在处理来自其他应用程序的请求,但您将无法查看详细信息。Requests()只会返回您的应用的详细信息。

  4. 当然,快速测试会告诉您这一点。

  5. 这是一个很好的做法。

  6. 当你遇到这种情况时,你检查过TransferError房产吗?在其他情况下,这是一个完全有效的状态,因此您不应将其视为自动失败。

于 2011-08-08T10:08:45.523 回答