2017-08-03 5 views
0

私はコールバックを持つWCFサービスを持っています。私はクライアントを作成したいが、Visual Studioの "Add Service Reference"を使って自動的にそれをやりたい私はサービスを発見して追加することができます。サービス参照を更新することもできます。それはそこにあります。問題は、そこからクライアントを作成することです。どのようにデュプレックスサービスのWCFサービス参照を追加するには?

サービス名は、(サービス参照に)「MYSERVICE」であれば、は、通常の(非コールバック)サービスのクライアントを作成することは、次のようになります。

var myService = new MyServiceClient(); 
var data = myService.GetData(); 
myService.Close(); 

しかし、どのように私は、もしそれを行うことができますサービスはコールバックインターフェイスを実装していますか? 私はこのように、クライアントのためのパラメータとしてのコンテキストを追加する必要があります。

InstanceContext context = new InstanceContext(????); 
var myService = new MyServiceClient(context); 
var data = myService.GetData(); 
myService.Close(); 

けど!私はInstanceContextにコールバックインターフェイスを実装するクライアントを渡す必要があります。コールバックを持つwcfサービスのクライアントをすばやく追加する方法はありますか?

ありがとうございました!

答えて

1

あなたはコールバックハンドラを作成する必要があります。

public class MyServiceCallbackHandler : IMyServiceCallback 
{ 
    public void Result(Data data) 
    { 
    } 
} 

をしてInstanceContextに渡し:

InstanceContext context = new InstanceContext(new MyServiceCallbackHandler()); 
var myService = new MyServiceClient(context); 
var data = myService.GetData(); 
myService.Close(); 
関連する問題