silverlight上的odata仅在UI线程上运行

silverlight上的odata仅在UI线程上运行,第1张

概述我们正在使用Silverlight上的OData,使用DataServiceCollection来获取数据. 所有获取数据的调用(LoadAsync()LoadNextPartialSetAsync())都在工作线程上完成.但是,’LoadCompleted’回调以及反序列化和对象实现都是在UI线程中完成的. 我们反编译了DataServiceCollection所在的System.Data.Se 我们正在使用Silverlight上的OData,使用DataServiceCollection来获取数据.

所有获取数据的调用(LoadAsync()LoadNextPartialSetAsync())都在工作线程上完成.但是,’LoadCompleted’回调以及反序列化和对象实现都是在UI线程中完成的.

我们反编译了DataServiceCollection所在的System.Data.Services.ClIEnt.DLL,并且看到确实所有处理OData响应的代码都被分派到UI线程.

是否有任何方法可以在工作线程上调用反序列化?

谢谢
亚龙

解决方法 好…

似乎OData集合故意移动处理UI线程.我猜这是完成的,因为旧对象可能具有UI绑定的属性.加载其他数据时,这些属性可能会更改.

使用查询本身,我能够在工作线程上获得响应.但是,这样做意味着如果UI绑定到任何属性,必须从OData上下文中分离对象(或克隆它们).否则,当对象在工作线程上实现时,后续查询可能会导致属性更改事件.

总结

以上是内存溢出为你收集整理的silverlight上的odata仅在UI线程上运行全部内容,希望文章能够帮你解决silverlight上的odata仅在UI线程上运行所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1004754.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-22
下一篇 2022-05-22

发表评论

登录后才能评论

评论列表(0条)

保存