P.S。现在我有MyAdapter类,它包含所有处理请求和响应的工作,以及类MyScheduler,它通过计时器发送请求。
答案 0 :(得分:1)
您确实应该使用BackGroundWorker,如果您需要在此期间更新UI,则可以使用Dispatcher.Invoke()方法。
答案 1 :(得分:1)
但问题是如何在不冻结ui的情况下发送请求和处理响应?
您可以use timers定期发送您的请求。如果您在请求成功时需要更新UI,则可能需要使用Dispatcher.Invoke
或Control.Invoke
。
答案 2 :(得分:1)
当用户界面保持响应时,您可以在后台执行各种工作:
陈旧但可靠: BackgroundWorker
已经在.net框架中存在了很长时间,并且可以完全满足您的要求。 Lots of examples可以在此网站和其他地方找到。
最新技术:自{4}以来可用的Task
类是considered to be an improvement over BackgroundWorker。
全新:Async
extensions是新方式来做“背景资料”。无需多线程和手动同步,一切都“正常”。但是,目前这只是在“社区预览”阶段。