2011-12-25 1 views
1

デュプレックスサービスを設定しようとしています。 I 2つのインターフェイスを作成した: 最初 - サーバーが実装するインターフェイス:duplex/WCFでコールバッククラスを自動生成

public interface IBackUpServiceClient 

メソッドを保持: を提供することによって実現されているいくつかの方法と第二の一方と

[ServiceContract(CallbackContract = typeof(IBackUpServiceCallback))] 
public interface IBackUpService 

をクライアントがコールバックするときにサーバが使用されるはずです。 実装クラス名

BackUpServiceCallBack : IBackUpServiceClient 

はクライアント側です。

問題がある - 私はサービスを追加していた後 - コンパイラの自動生成:

interface IBackUpServiceCallback 

をし、それを実装するために私を求めています。 と私は2コールバックインターフェイスがあります。 私はクライアント側で(BackUpServiceClalBack)を実装し、2つ目の名前ている最初:IBackUpServiceCallback - (クライアントURLは「tempuri ..」)と私はそれを制御カント

BackUpServiceClalBackIBackUpServiceCallbackを実装していても - それは実行時に実装メソッドに到達しません。

私はwsDualHttpBindingバインディングを使用しています。

アイデア?

答えて

2

私は 。私は、すべてのサービスの参照」を追加し、」やっていけないということを理解し、クライアントbecuseは、私はそれを使用することができ、設計時にはインタフェースであることを知っている。

今私はgenaretedコードcalssを持って文句を言いません。 だけでなく、プロキシのinsted私が使用します。

private DuplexChannelFactory<IBackUpService> factory; 
    private IBackUpService _proxy; 
    InstanceContext t = new InstanceContext(implementClass); 
    factory = new DuplexChannelFactory<IBackUpService>(t, "nameOfBinding"); 

    _proxy = factory.CreateChannel(); 

と自身の結合は、実行時になります

+1

修正おめでとうあなたができる場合「受け入れ」として、チェックマークを使用してあなたの答えをマークしてください。左に表示されます。あなたの問題は解決されました。乾杯〜 –