Я добавил ссылку на службу 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");
Однако я получаю сообщение об ошибке выполнения - «Не удалось найти элемент конечной точки с именем «ABCServiceV2» и заключить контракт «ABCService.IService» в разделе конфигурации клиента ServiceModel. Возможно, это связано с тем, что файл конфигурации не найден для вашего приложения или потому, что ни один элемент конечной точки, соответствующий этому имени, не может быть найден в клиентском элементе «.
если я использовал ABCService.ServiceClient ABCClient = new ServiceClient("ABCServiceV1");
, тогда все работает нормально. Но при использовании ABCServiceV2 он пытается найти контракт - ABCService.IService - когда он должен искать - ABCService.IService1.
Как я могу найти правильный контракт?
Адрес для ABCServiceV2 имеет «20» добавил до конца ... Я не уверен, если это не имеет ничего общего с ним или нет. Просто наблюдение. – user959729
Я думаю, что это должно быть хорошо, так как «20» необходимо, чтобы сделать конечную точку другой. Обе конечные точки службы отлично работают на инструменте, таком как SoapUI. Таким образом, проблема находится где-то в клиентском коде. – ipoh