Создание объектов динамического прокси - PullRequest
2 голосов
/ 25 января 2009

Есть ли способ создания прокси-объектов WCF на лету без использования кодировки? На лету я имею в виду во время выполнения. Допустим, у меня есть интеллектуальное клиентское приложение, которое обращается к службе WCF. Контракт данных для службы WCF изменяется во время работы клиента. Я хочу динамически создать новый прокси-объект, который отражает измененный контракт данных.

Ответы [ 3 ]

4 голосов
/ 25 января 2009

Вы должны прочитать эту статью: WCF Ручной путь ... Правильный путь

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

0 голосов
/ 26 января 2009

Будьте осторожны, делая слишком много вещей на ходу. Даже используя рефлексию, может оказаться слишком простым объединение вашего Клиента / Прокси / Сервиса / Контракта слишком много.

Создание ручных прокси и добавление их в качестве ссылки на вашего клиента - фантастическая идея.

0 голосов
/ 25 января 2009

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

Так что проекты будут

  1. Хост
  2. Контакты и конечные точки
  3. Клиент с прокси

    открытый класс YourProxy: ClientBase {}

...