2011-02-28 96 views
2

我正在编写我的第一个Silverlight应用程序。我调用了一些WCF服务(Web服务) - WCF服务需要返回简单的字符串(“hello word”) - 但我看到唯一可以调用的方法是异步。方法 - 即使WCF服务公开的方法定义为不是异步。方法。从Silverlight应用程序调用WCF服务...问题

WCF服务在简单的winform客户端应用程序上正常工作。

我做错了什么? 为什么我现在得到这个异步方法?

回答

2

你没有做错任何事。 Silverlight中的Web服务调用始终是异步的。 您可以使用AsyncResult中的WaitHandle以同步方式处理请求,但请确保您在后台线程上执行此操作。在主线程中尝试此操作将完全阻止您的应用程序。有关更多说明,请参阅this article

如果您不喜欢以传统方式(如我)编写异步代码,那么您可以尝试下载Visual Studio async CTP,它允许使用更简洁的语法来处理异步代码。

+1

可能值得一提的是,Visual Studio异步CTP仅支持Silverlight 5,这可能会也可能不是问题。 – eremzeit 2012-01-12 07:46:32

相关问题