如何在SIlverlight中实现对WCF服务的同步调用?

Nik*_*y R 2 c# silverlight wcf synchronous

有时我需要在Silverlight中调用WCF服务并阻止UI直到它返回.当然,我可以分三步完成:

  1. 设置处理程序和阻止UI
  2. 致电服务
  3. 一切都完成后取消阻止UI.

但是,我想将DoSomethingSync方法添加到服务客户端类,只需在需要时调用它.

可能吗?有没有人真正实现过这样的方法?

更新: 看起来答案根本不是使用同步调用.将为异步调用寻找一些易于使用的模式.看一下这篇文章(摘自评论)了解更多信息.

Mar*_*ell 9

这就是重点; 你不应该在Silverlight中同步IO.停止战斗吧!代替:

  • 禁用UI的任何关键部分
  • 使用回调启动异步IO
  • (......)
  • 在回调中,处理数据并更新/重新启用UI

碰巧的是,我正在积极研究如何使异步模式更加平易近人(特别是考虑到Silverlight).是第一次刺伤,但我的袖子更好了;-p