私はこのようなサービスクラス階層を持っている:基本サービスメソッドへの参照を作成するには?
ベースのサービス:
[ServiceContract()]
public interface IServiceBase
{
[OperationContract]
void BaseMethod();
}
public class ServiceBase : IServiceBase
{
public void BaseMethod()
{}
}
サービスA:
[ServiceContract()]
public interface IServiceA : IServiceBase
{}
public class ServiceA : ServiceBase, IServiceA
{}
サービスB:私は作成し、クライアント側で
[ServiceContract()]
public interface IServiceB : IServiceBase
{}
public class ServiceB : ServiceBase, IServiceB
{}
ServiceAとServiceBの2つのプロキシクラスをVisual Studioの「A DDサービス参照」ツール:(サーバ側の基底クラスであるが)は、2つの異なるサービスに
ProxyA proxyServiceA;
ProxyB proxyServiceB;
これらは参照。
私はBaseServiceからこれらのプロキシを介して同じ方法でメソッドを呼び出す必要があります。例えば、私はメソッドのパラメータとしてこれらのプロキシを通過させ、そのBaseServiceメソッドを呼び出し、このようにしたい:
// somewhere on the client side
WorkMethod(proxyServiceA);
WorkMethod(proxyServiceB);
// Something like this, BUT I DON'T REALLY KNOW WHAT TYPE OF PARAMETER TO USE
void WorkMethod(ProxyBase proxyBase)
{
proxyBase.BaseMethod();
}
しかし、それを行う方法、(これらのプロキシは、異なるクラスであることを覚えてどのようなタイプのパラメータの使用BaseService共通祖先なし)?
つまり、サーバー側ではServiceAとServiceBに共通の祖先があり、基本メソッドを呼び出すことは可能ですが、クライアント側で行う方法はありますか?
これらの2つのプロキシの基本クラスとして認識されているクライアント上のクラスを取得することはできますか?(もちろんSystem.ServiceModel.ClientBaseを除く)
未処理の例外をして取得します/ questions/3422567/wcf-service-inheritance) - 基本サービスを実装する基本プロキシを作成する。 – Alex34758