2015-08-20 5 views
0

Мой клиент WCF может подключаться к нескольким конечным точкам. Но все они имеют разные адреса, привязки и контракты. Поэтому мой вопрос: как я могу создать мой WCF-клиент программно в зависимости от имени моей конечной точки, к которой я хочу подключиться (что у меня есть в моем коде)WCF - Создать клиент программно только с конечной точки

ответ

0

Если я правильно понял ваш вопрос, я считаю, что это ответ [с помощью IPC, могут быть легко преобразованы в другие типы связи]

СЛУШАТЕЛЬ:

_host = new ServiceHost(typeof(ContractClass)); 
_host.AddServiceEndpoint(typeof(IContract), new NetNamedPipeBinding(), new Uri("net.pipe://localhost/" + listenerEndpointName)); 
_host.Open(); 

Клиент:

var factory = new ChannelFactory<IContract>(new NetNamedPipeBinding(), new EndpointAddress("net.pipe://localhost/" + listenerEndpointName)); 
IContract proxy = factory.CreateChannel(); 
+0

Я просто говорю о клиенте, а не сервер , В клиентском коде у меня нет типа контракта. Он может отличаться в зависимости от конечной точки –

+0

. Просто добавьте оператор 'switch', который определит' тип', который будет доставлен на завод – Nissim

+0

. Я подумал об этом. Но нет ответа, используя wcf или .net? Я имею в виду, что нет .net-класса, который может это сделать? –