Динамическое предоставление сервисных ссылок между WCF и Silverlight - PullRequest
1 голос
/ 27 апреля 2011

В течение нескольких дней я бился головой о кирпичную стену, пытаясь решить проблему, возникающую у меня с WCF Services и Silverlight.

Моя проблема в том, что у меня есть 5 модулей проекта Silverlight, которые ядинамически читать в одном приложении Master Silverlight.Каждый из этих модулей имеет свой собственный бизнес-уровень и DAL, поэтому он выполняет свои собственные вызовы для своих служб WCF, но когда я загружаю модули и пытаюсь выполнить команду WCF, я получаю сообщение об ошибке, в котором говорится, что моя ServiceReference не существует,это связано с тем, что служба является частью модуля ServiceReference.config, а не справочной службы главных проектов.

Есть ли места, где я могу динамически получить проект Master Silverlight для получения списка ChannelFactory изатем создать каналы и прочитать все метаданные и полностью избавиться от сервисных ссылок?Как вы справляетесь с необходимостью пользоваться сервисными ссылками?

Вся ваша помощь очень ценится, я думаю, что я схожу с ума по этой.

Спасибо

Робби

1 Ответ

2 голосов
/ 27 апреля 2011

Да, вы можете сделать это.Вы можете скопировать сгенерированный файл «Reference.cs», для этого вам необходимо:

  1. Показать все файлы в вашем проекте.
  2. Развернуть ссылку на сервис и найтиReference.cs.

Теперь вы можете скопировать это и добавить в свой проект как обычный класс и удалить ссылку на службу вашего приложения.Для ChannelFactory, да, вы можете создать с помощью этого кода:

   ChannelFactory<IServiceContract> factory = new ChannelFactory<IServiceContract>(endpoint);
   IServiceContract channel = factory.CreateChannel();
...