gpt4 book ai didi

c# - 找不到具有名称和契约(Contract)的端点元素

转载 作者:太空狗 更新时间:2023-10-29 21:40:18 25 4
gpt4 key购买 nike

我添加了对具有两个端点的 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’且契约(Contract)为‘ABCService.IService’的端点元素。这可能是因为没有为您的应用程序找到配置文件,或者因为在客户端元素中找不到与此名称匹配的端点元素。”

如果我使用 ABCService.ServiceClient ABCClient = new ServiceClient("ABCServiceV1"); 那么一切正常。但是当使用 ABCServiceV2 时,它试图寻找契约(Contract) - ABCService.IService - 当它应该寻找 - ABCService.IService1 时。

如何让它寻找正确的合约?

最佳答案

如果您添加了对不同服务 (ABCServiceV2) 的第二个引用,那么我相信这将为 ABCServiceV2 生成第二个服务类。这两个类将实现单独的协定(ABCService.IService 和 ABCService.IService1),因此您将无法互换端点。

我相信您应该能够像这样初始化您的两个服务端点:

ABCService.ServiceClient ABCClient = new ServiceClient("ABCServiceV1");
ABCService.Service1Client ABCClient1 = new Service1Client("ABCServiceV2");

关于c# - 找不到具有名称和契约(Contract)的端点元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14369406/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com