Насколько я понимаю, если вы будете следовать процедуре клиентского доступа, описанной в Общие сведения о службах WCF В Silverlight 2 вы сможете выбирать, к какой службе обращаться во время выполнения, поскольку вам не нужно создавать прокси на стороне клиента.
Фрагмент этой статьи:
Теперь мы можем обратить наше внимание на
клиентское приложение. Для начала позвольте мне
начать с напоминания всем, что
Вы никогда не должны использовать "Добавить службу
Справочник "в Visual Studio для
создание клиента магического сервиса.
код невероятно многословен, трудно
управляемые, правки
перезаписывается, и это почти всегда
используется в качестве оправдания не на самом деле
выучить WCF.
Как я уже упоминал много раз,
WCF опирается на концепцию ABC.
Для обоих
.NET и Silverlight, вы объединяете
адрес и привязка с договором
на канальном заводе, чтобы создать
канал. Это не просто фантазия
концептуальный архитектор говорят, это
как будет выглядеть ваш код
(признак действительно хорошего
архитектура!) Ниже находится .NET
версия того, что я имею в виду:
BasicHttpBinding basicHttpBinding = new BasicHttpBinding();
EndpointAddress endpointAddress = new EndpointAddress("http://localhost:1003/Person.svc");
IPersonService personService = new ChannelFactory<IPersonService>(basicHttpBinding, endpointAddress).CreateChannel();
Person person = personService.GetPersonData("F488D20B-FC27-4631-9FB9-83AF616AB5A6");