如何根据端点名称动态创建2 WCF服务的WCF对象?

时间:2016-02-08 13:56:26

标签: c# wcf

我在1 WCF服务中使用2 WCF服务。

using WcfService.Server1;
using WcfService.Server2;

我正在调用一个函数,该函数根据某些逻辑返回合适的WCF服务的端点名称。如何动态创建基于端点名称的WCF服务对象?

在下面的代码中,我创建了" Server1"的WCF对象。 WCF服务,但假设方法返回端点名称" Server2Endpoint"那么这将是一个问题,因为我指的是WcfService.Server1

WcfService.Server1.MatrixCalculationClient Proxy1 = new WcfService.Server1.MatrixCalculationClient("Server1Endpoint");

1 个答案:

答案 0 :(得分:0)

我假设两个WCF服务都实现了相同的接口,例如IWCFService

然后我相信您必须使用自己的代理类(独立于IWCFServiceServer1实现Server2)或使用ChannelFactory<IWCFService>手动构建频道。< / p>

在这两种情况下,您都可以将端点的名称传递给正确的构造函数,然后如果app.config文件包含这些端点的正确定义(相同的合同),那么一切都会正常工作。