1

別々のサーバーに 2 つの wcf サービスがあります。両方とも、次のような独自のクライアントベースを定義します: public class Channel1 : ClientBase<IService1>, IService1および public class Channel2 : ClientBase<IService2>, IService2

ここで、サービス統計を取得するための一般的なメソッドを追加する必要があります public interface IService3{ string GetStats(); }。各サーバーで、この統計を要求するアプリケーション (またはサービス) が実行されます。

Channel1 と Channel2 を記述して IService3 も受け入れるようにする方法はありますか? または、Channel1 と通信し、Channel2 と通信するための独自のアプリケーションを作成する必要がありますか?

IService1 : IService3と と も定義するIService2 : IService3と、Channel3 : ClientBase<IService3>, IService3Channel3 は EndPoint に応じて両方のサービス (各サーバーで一度に 1 つ) に接続できますか? (NotImplementedException の可能性あり)

私の目標は、個別のサービスでいくつかの一般的なメソッドを呼び出すことができるアプリケーション (サービス) を 1 つだけ持つことです。

4

1 に答える 1

1

既存のサービス コントラクトの両方に 3 番目の共有コントラクトを継承させるソリューションは、説明したとおりに機能します。あなたの例では、IService3 も WCF 属性で装飾されていることを確認する必要がありServiceContractますOperationContract

于 2012-09-11T12:05:00.490 に答える