gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-01 01:26:52 26 4
gpt4 key购买 nike

我们正在使用 Silverlight 上的 OData,使用 DataServiceCollection 获取数据。

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

我们对 DataServiceCollection 所在的 System.Data.Services.Client.DLL 进行了反编译,发现确实所有处理 OData 响应的代码都被分派(dispatch)到了 UI 线程。

有没有办法让反序列化在工作线程上被调用?

谢谢
亚龙

最佳答案

好...

似乎 OData 集合故意移动处理 UI 线程。我猜这是因为旧对象可能具有 UI 绑定(bind)的属性。加载其他数据时,这些属性可能会发生变化。

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

关于silverlight - silverlight 上的 odata 仅在 UI 线程上运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7228073/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com