2011-08-03 184 views
0

我是WCF的新手,我正在使用它来访问Silverlight应用程序中的MySql。 我有一个像这样简单的东西:WCF服务异步/同步

[OperationContract的] 公开名单GetPolitics(){ 回报 _registrationData.GetPolitics(); }

其中RegistrationData是一个使用MySqlConnection与MySql进行通信的.NET程序集。

我的问题是,WCF默认会创建异步操作,有没有办法在获取数据库时阻止通话的同步操作?如果是的话如何?

+0

您是如何生成客户端代码的?这是Silverlight客户端还是基本.NET? –

+0

Silverlight客户端 – Pacman

回答

0

这很奇怪,根据你的代码,你已经使用了同步操作。如果你想提供异步操作,你需要提供一对方法:BeginXXX,EndXXX。请阅读此:Synchronous and Asynchronous Operations

你是什么意思通过阻止呼叫?你想阻止服务器端的线程?

+0

那么,当我编译服务并尝试在客户端使用它时,我看到以下内容: GetPoliticsCompleted是我必须注册的委托,并且调用:GetPoliticsAsync();结果出现在委托中而不是等待GetPoliticsAsync(),GetPoliticsAsync是一个无效的方法 – Pacman