Как программно добавить клиентские конечные точки WCF? - PullRequest
6 голосов
/ 25 мая 2011

Мне нужен мой сервис, чтобы использовать другие сервисы, и мне нужно настроить эти зависимости в коде.Как мне это сделать?

Это очень просто в конфигурации с помощью следующего (примера):

   <client>
  <endpoint name="registerService"
            address="http://127.0.0.1/registration/" binding="basicHttpBinding"    
            contract="*"/>
  </client>

Но по какой-то причине найти эквивалент кода не так просто, как я думал.

1 Ответ

6 голосов
/ 25 мая 2011

Если вы используете сгенерированный прокси-сервер Visual Studio (через «Добавить ссылку на службу ...»), то вы используете абстрактный класс ClientBase, и у вас будет несколько конструкторов, позволяющих передатьв разделе конфигурации, конечной точке, привязке и т. д.

http://msdn.microsoft.com/en-us/library/ms576141.aspx

И если вы создаете экземпляр ChannelFactory, то у вас снова есть несколько конструкторов, которые можно использовать.

http://msdn.microsoft.com/en-us/library/ms576132.aspx

// create bindings & endpoints
var binding = new System.ServiceModel.BasicHttpBinding();
var endpoint = new EndpointAddress("http://localhost/MyService.svc");

var factory = new ChannelFactory<IMyService>(binding, endpoint);

var channel = factory.CreateChannel();
// then call your operations...
channel.MyOperation();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...