clientbase实现更多接口或“子”客户端库

时间:2012-09-10 22:33:38

标签: c# wcf

我在不同的服务器上获得了两个wcf服务。两者都定义了自己的clientbase,如: public class Channel1 : ClientBase<IService1>, IService1public class Channel2 : ClientBase<IService2>, IService2

现在我需要为它们添加一个获取服务统计信息的常用方法,让我们说: public interface IService3{ string GetStats(); }。在每台服务器上,将运行将要求此统计信息的应用程序(或服务)

有没有办法,我怎样才能编写Channel1和Channel2来接受IService3,所以我只在配置文件中定义端点?或者我必须创建自己的应用程序以与Channel1进行通信而其他应用程序与Channel2进行通信吗?

如果我定义IService1 : IService3以及IService2 : IService3Channel3 : ClientBase<IService3>, IService3,Channel3是否能够连接到两个服务(每个服务器上一次一个),具体取决于EndPoint? (有可能出现NotImplementedException)

我的目标是只有一个应用程序(服务),它可以在单独的服务上调用一些常用的方法。

1 个答案:

答案 0 :(得分:1)

让两个现有服务合同继承第三个共享合同的解决方案将按照您的描述运行。在您的示例中,您需要确保IService3也使用WCF属性ServiceContractOperationContract进行修饰。