Silverlight 4.0 IDuplexSessionChannel开始发送在高UI线程任务期间不发送

Silverlight 4.0 IDuplexSessionChannel开始发送在高UI线程任务期间不发送,silverlight-4.0,Silverlight 4.0,我们有一个Silverlight 4应用程序,它利用IDuplexSessionChannel向WCF服务发送数据或从应用程序向WCF服务发送数据 我注意到,在UI线程使用率非常高的情况下,例如在UI构建自身时启动应用程序,在UI完成渲染之前,不会发送通过IDuplexSessionChannel.BeginSend调用我们的WCF服务 对BeginSend的调用是在BackgroundWorker中完成的。 BeginSend的实际执行是否发生在主线程上?我找不到任何官方文件证明这一点。 看起

我们有一个Silverlight 4应用程序,它利用IDuplexSessionChannel向WCF服务发送数据或从应用程序向WCF服务发送数据

我注意到,在UI线程使用率非常高的情况下,例如在UI构建自身时启动应用程序,在UI完成渲染之前,不会发送通过IDuplexSessionChannel.BeginSend调用我们的WCF服务

对BeginSend的调用是在BackgroundWorker中完成的。 BeginSend的实际执行是否发生在主线程上?我找不到任何官方文件证明这一点。 看起来是这样的,因为即使我有主线程Sleep或WaitOne,消息仍然没有通过note,这只是一个测试

让这些电话立即出去的最佳方式是什么

谢谢

今天有人写了这个博客。确切地解释了我所看到的,当我们在UI线程上进行大量处理时,WCF调用没有发出。Silverlight中的WCF调用通过UI线程封送。为什么Silverlight要麻烦地强制所有WCF调用都是异步的,以保持UI的响应性,同时通过UI线程封送所有WCF调用????对我来说没有意义。