我是否需要BackgroundWorker?

时间:2012-02-21 14:55:49

标签: c# httpwebrequest httpwebresponse

我正在写一些将http请求发送到服务器的应用程序。我的应用程序将通过计时器发送一些间隔请求。例如,我需要发送1种类型的请求,时间间隔为2秒,第二种类型的请求 - 10秒,依此类推。 我知道最好有一个调度程序来推送我的请求。但问题是如何在不冻结ui的情况下发送请求和处理响应?

P.S。现在我有MyAdapter类,它包含所有处理请求和响应的工作,以及类MyScheduler,它通过计时器发送请求。

3 个答案:

答案 0 :(得分:1)

您确实应该使用BackGroundWorker,如果您需要在此期间更新UI,则可以使用Dispatcher.Invoke()方法。

答案 1 :(得分:1)

  

但问题是如何在不冻结ui的情况下发送请求和处理响应?

您可以use timers定期发送您的请求。如果您在请求成功时需要更新UI,则可能需要使用Dispatcher.InvokeControl.Invoke

答案 2 :(得分:1)

当用户界面保持响应时,您可以在后台执行各种工作: