2011-08-08 23 views
3

WCFサービスが正常に動作していますが、そのメソッドを非同期に呼び出す必要があります。 VS2010では、クライアントでサービス参照を再追加し、非同期メソッドのチェックボックスを選択しました。しかし、今私はMyMethod()の代わりにMyMethodAsync()を呼び出すとき何も起こりません。WCF非同期メソッドが呼び出されない

私は間違っていますか?

答えて

3

成功のコールバックを購読する必要があります。ここでは一例を示しarticle on MSDNです:非同期操作の結果を操作が完了すると、それが引数として渡されます一度

client.MyMethodCompleted += new EventHandler<MyMethodCompletedEventArgs>(MyMethodCallback); 
client.MyMethodAsync(parameters); 

MyMethodAsyncすぐに戻り、MyMethodCallback関数が呼び出されます。

+0

MyMethodCompletedEventArgsはどこから来たのですか? MyMethodCallbackにはどのようなパラメータタイプがありますか?ちょうどIAsyncResult? – Jonnster

+0

@Jonnsterでは、生成されたプロキシで 'MyMethodCompletedEventArgs'を定義する必要があります。実際のクラスは、呼び出すメソッド名に基づいて別々に呼び出されることがあります。 'MyMethodCallback'に関しては、送信側(' object'型の)とイベント引数 'MyMethodCompletedEventArgs'の2つのパラメータが必要です。 –

+0

いいえ... CompletedEventArgsは作成されませんでした。これが私が尋ねた理由です。私は彼らがそうであると思った。他のすべてのビットは作成されましたが、EventArgsは作成されませんでした。私は削除して再開しようとしましたが、まだ始まっていません。 – Jonnster

関連する問題