c# - Xamarin IOS WebClient 在线程中执行

标签 c# ios multithreading xamarin webclient

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

有时我的请求从未返回,并且 OnUploadDataCompleted/OnDownloadDataCompleted 从未调用过。我有一个叠加层告诉用户要有耐心,但我想让用户在时间变得很长时取消。

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

最佳答案

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

关于c# - Xamarin IOS WebClient 在线程中执行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43659813/

相关文章:

c# - 建议完成嵌套的用法

c# - 在日历中更改选定的日期背景(或文本)

c# - 编译时出错 : "Expected class, delegate, enum, interface, or struct"

ios - 存储 UISwitch 状态的问题

python - 输入时间限制/倒计时

c# - 如何使用带有连接字符串的 MySQL EF 6

iOS11 UIToolBar 内容 View

ios - 编辑核心数据会产生错误,此类与键的键值编码不兼容

使用 boost asio 的 C++ 线程

python - python 中的多线程 : when does a thread become inactive?