我添加了对具有两个端点的 WCF 服务的引用。添加服务时,将以下内容添加到配置文件中:
<client>
<endpoint name="ABCServiceV1" address="http://staging.ABCwebservices.com/ABC/Service.svc"
binding="basicHttpBinding" bindingConfiguration="ABCServiceV1"
contract="ABCService.IService" />
<endpoint name="ABCServiceV2" address="http://staging.ABCwebservices.com/ABC/Service.svc/20"
binding="basicHttpBinding" bindingConfiguration="ABCServiceV2"
contract="ABCService.IService1" />
</client>
创建客户端的代码如下:
ABCService.ServiceClient ABCClient = new ServiceClient("ABCServiceV2");
但是,我收到运行时错误 - “在 ServiceModel 客户端配置部分中找不到名称为 'ABCServiceV2' 和合同 'ABCService.IService' 的端点元素。这可能是因为找不到您的应用程序的配置文件,或者因为没有可以在客户端元素中找到匹配此名称的端点元素。”
如果我使用ABCService.ServiceClient ABCClient = new ServiceClient("ABCServiceV1");
,那么一切正常。但是当使用 ABCServiceV2 时,它会尝试寻找合同 - ABCService.IService - 它应该在寻找时 - ABCService.IService1。
我如何让它寻找正确的合同?