1

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

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

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

如果我定义IService1 : IService3andIService2 : IService3和 a Channel3 : ClientBase<IService3>, IService3,Channel3 是否能够根据 EndPoint 连接到两种服务(每台服务器上一次)?(有可能出现 NotImplementedException)

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

4

1 回答 1

1

让您现有的两个服务合同都继承第三个共享合同的解决方案将如您所描述的那样工作。在您的示例中,您需要确保 IService3 也使用 WCF 属性ServiceContractOperationContract.

于 2012-09-11T12:05:00.490 回答