我正在开发使用 RIA 服务的 Silverlight 应用程序。应用程序运行时我有很多数据要加载,并且所有数据都必须显示在 UI 上。
我正在使用不同的查询加载数据,并且加载片段之间没有顺序依赖关系。
随着数据的到来,开始绘制,主要是基于数据的矩形和线条。
处理数据花费了太多时间。我正在使用 fiddler 查看 http 请求,并得到以下结果。从 DB 获取数据并接收大约需要 1.5 秒。但在收到响应后,触发完成事件大约需要 6 秒。那时 UI 线程正忙于计算和渲染。
我尝试使用后台工作人员进行服务调用,但所有已完成的事件都在 UI 线程上触发。
有什么方法可以进行服务调用并处理从非 UI 线程接收到的数据?
编辑:
我评论了一些代码,它在 UI 上绘制了一些元素,处理数据需要 0.4 秒,而不是之前的 6 秒,所以原因是在繁忙的 UI 线程上,它在触发完成事件之前处理接收到的数据。
谢谢。