2011-02-28 104 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

相關問題