2011-08-03 8 views
0

私はWCFを初めて使用しています。SilverlightアプリケーションでMySqlにアクセスするために使用しています。 私はこのような単純なものがあります。WCFサービスasynch/synch

[OperationContract] 公共リストGetPoliticsを(){ リターン_registrationData.GetPolitics(); }

RegistrationDataは、MySqlConnectionを使用してMySqlと通信する.NETアセンブリです。

私の質問は、WCFはデフォルトで非同期操作を作成します.DBがフェッチされている間に呼び出しをブロックする同期操作を行う方法はありますか?もしそうなら、どのように?

+0

どのようにクライアントコードを生成していますか?これはSilverlightクライアントか基本的な.NETですか? –

+0

Silverlightクライアント – Pacman

答えて

0

あなたのコードによれば、すでに同期操作を使用しているのは奇妙です。非同期操作を提供する場合は、メソッドBeginXXX、EndXXXのペアを提供する必要があります。これを読んでください:Synchronous and Asynchronous Operations

そして、通話をブロックすることはどういう意味ですか?あなたはサーバー側のスレッドをブロックしたいですか?

+0

サービスをコンパイルしてクライアント側で使用しようとすると、次のように表示されます。 GetPoliticsCompletedは、私が登録しなければならないデリゲートで、GetPoliticsAsync(); GetPoliticsAsync()を待つのではなく、結果がデリゲートに入り、GetPoliticsAsyncはvoidメソッドです – Pacman