我在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");
答案 0 :(得分:0)
我假设两个WCF服务都实现了相同的接口,例如IWCFService
。
然后我相信您必须使用自己的代理类(独立于IWCFService
或Server1
实现Server2
)或使用ChannelFactory<IWCFService>
手动构建频道。< / p>
在这两种情况下,您都可以将端点的名称传递给正确的构造函数,然后如果app.config文件包含这些端点的正确定义(相同的合同),那么一切都会正常工作。