将 UploadAsync
或 DownloadAsync
之类的 WebClient 请求运行到 UIViewController
的线程中是一个好主意。
有时我的请求从未返回,并且 OnUploadDataCompleted
/OnDownloadDataCompleted
从未调用过。我有一个叠加层告诉用户要有耐心,但我想让用户在时间变得很长时取消。
2/用户需要了解进程,因此线程将使用 InvokeOnMainThread
进行更新,这是一个很好的方法吗?
最佳答案
我不认为这是个好主意。您可以在 WebClient 对象上调用 CancelAsync()。此外,除非抛出异常,否则应始终调用 DataCompleted 回调。另一种可能性是减少超时,以便您可以更及时地响应用户。我记得默认超时大约是 60 秒。
关于c# - Xamarin IOS WebClient 在线程中执行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43659813/