将UploadAsync
或DownloadAsync
等WebClient请求运行到UIViewController
的线程中是一个好主意。
有时我的请求永远不会回来,OnUploadDataCompleted
/ OnDownloadDataCompleted
从未调用过。我有一个覆盖图告诉用户要有耐心,但是我想让用户在很长时间内取消它的可能性。
2 /用户需要了解流程,因此线程会更新InvokeOnMainThread
,这是一个很好的方法吗?
答案 0 :(得分:2)
我认为这不是一个好主意。您可以在WebClient对象上调用CancelAsync()。此外,除非抛出异常,否则应始终调用DataCompleted回调。另一种可能性是减少超时,以便您可以更及时地响应用户。我记得默认超时是60秒。