Xamarin IOS WebClient在Thread中执行

时间:2017-04-27 13:49:58

标签: c# ios multithreading xamarin webclient

UploadAsyncDownloadAsync等WebClient请求运行到UIViewController的线程中是一个好主意。

有时我的请求永远不会回来,OnUploadDataCompleted / OnDownloadDataCompleted从未调用过。我有一个覆盖图告诉用户要有耐心,但是我想让用户在很长时间内取消它的可能性。

1 /我想知道是否将请求发送到一个线程,并且当用户按下取消按钮时,我终止该过程是一个好主意或真的坏事todo。

2 /用户需要了解流程,因此线程会更新InvokeOnMainThread,这是一个很好的方法吗?

1 个答案:

答案 0 :(得分:2)

我认为这不是一个好主意。您可以在WebClient对象上调用CancelAsync()。此外,除非抛出异常,否则应始终调用DataCompleted回调。另一种可能性是减少超时,以便您可以更及时地响应用户。我记得默认超时是60秒。