WCF программно задал адрес конечной точки: в коллекции элементов конфигурации не было найдено ни одного элемента, соответствующего ключу
Я выполняю то, что считал довольно простой задачей. У нас есть среда с несколькими серверами (DEV, TEST, PRODUCTION), и я хотел бы программно изменить конечную точку службы. Для этого я создаю новый EndPointAddress
и создаю экземпляр клиента как:
BasicHttpBinding binding = new BasicHttpBinding("BasicHttpBinding_IMyService");
EndpointAddress endpoint = new EndpointAddress(new Uri("http://domain.name/myservice.svc"));
MyService.MyServiceClient client = new MyService.MyServiceClient(binding, endpoint);
Я получаю следующую ошибку.
No elements matching the key 'BasicHttpBinding_IMyService' were found in the configuration element collection.
Я включил свое приложение.конфигурация ниже, но, как вы можете видеть, у меня есть определенная привязка.
<system.serviceModel>
<bindings>
<basicHttpBinding>
<binding name="BasicHttpBinding_IMyService" >
<... removed directives for ease of reading ...>
</binding>
</basicHttpBinding>
</bindings>
<client>
<endpoint address="http://domain.name/MyService.svc"
binding="basicHttpBinding" bindingConfiguration="BasicHttpBinding_IMyService"
contract="MyService.IMyService" name="BasicHttpBinding_IMyService" />
</client>
</system.serviceModel>
Извините, если это простой вопрос. но я так и не смог определить проблему. Я назову это "поздним пятничным мозговым туманом", а вы, может быть, назовете это "легкими пунктами"?
Спасибо!