【发布时间】:2011-02-28 19:37:59
【问题描述】:
我正在编写我的第一个 Silverlight 应用程序。 我调用了一些 WCF 服务(Web 服务)——WCF 服务需要返回简单的字符串(“hello word”)——但我看到我唯一可以调用的方法是异步的。方法 - 即使 WCF 服务公开的方法定义为非异步。方法。
WCF 服务在简单的 winform 客户端应用程序上运行良好。
我做错了什么? 为什么我现在得到这个异步方法?
【问题讨论】:
标签: silverlight
我正在编写我的第一个 Silverlight 应用程序。 我调用了一些 WCF 服务(Web 服务)——WCF 服务需要返回简单的字符串(“hello word”)——但我看到我唯一可以调用的方法是异步的。方法 - 即使 WCF 服务公开的方法定义为非异步。方法。
WCF 服务在简单的 winform 客户端应用程序上运行良好。
我做错了什么? 为什么我现在得到这个异步方法?
【问题讨论】:
标签: silverlight
你没有做错任何事。 Silverlight 中的 Web 服务调用始终是异步的。 您可以使用 AsyncResult 中的 WaitHandle 以同步方式处理请求,但请确保在后台线程上执行此操作。在主线程上尝试此操作将完全阻止您的应用程序。更多解释见this article。
如果您不喜欢以传统方式编写异步代码(像我一样),您可以尝试下载Visual Studio async CTP,它允许使用更简洁的语法来处理异步代码。
【讨论】: