Как создать и управлять клиентами службы wcf? - PullRequest
0 голосов
/ 06 июля 2010

Сначала я рассматривал их как любую зависимость, передавая их в ctor классу, потребляющему службу:

var serviceConsumer = new ServiceConsumer(new MailingServiceClient())

Проблема заключалась в том, что после исключения из службы оно переходило в состояние отказа ине будет отвечать ни на какие запросы, поэтому необходимо выполнить повторную инициализацию.

Более того, я ознакомился с тем фактом, что службы wcf могут быть неправильно расположены в нескольких случаях, поскольку метод dispose генерируемого прокси-серверапрервана (вызовы закрыты без проверки состояния сбоя) и столкнулась с несколькими путями преодоления этого:

  1. упаковка каждого вызова в каждую службу.
  2. переопределить поведение IDisposable по умолчанию класса, сгенерированного scvutil.exe

Поскольку я не хотел бы, чтобы потребительский код сам создавал клиент службы по причинам тестирования, у меня возникают следующие вопросы:

  • как мне сохранить работоспособную безотказную службу?

  • как я могу по-прежнему использовать деИнъекция в режиме ожидания для проверки?

1 Ответ

0 голосов
/ 08 июля 2010

Нашел хорошее решение.

генератор прокси, который заменяет VS и генерирует оболочку вокруг прокси по умолчанию, которая имеет дело с ошибками прокси, таймаутами и правильным удалением.1005 *http://wcfproxygenerator.codeplex.com/

мне кажется, работает нормально.

...