WCF Discovery с несколькими типами контрактовC#

Место общения программистов C#
Anonymous
WCF Discovery с несколькими типами контрактов

Сообщение Anonymous »

Здесь новичок в Wcf.

Моя служба имеет 4 конечных точки с 4 разными контрактами. Это потому, что мне нужно было выполнить какое-то требование. Теперь я не хочу использовать фиксированный порт и прочитал ЗДЕСЬ, что могу использовать ListenUriMode="Unique" в конфигурации конечной точки, чтобы получить первый свободный порт для использования.
это работает, и мой сервис работает правильно. Поскольку я не знаю, какой порт использовался, мне нужно использовать обнаружение WCF для доступа к моей службе.

Мой клиент ищет конечные точки с помощью этого кода

Код: Выделить всё

DiscoveryClient discoveryClient = new DiscoveryClient(new UdpDiscoveryEndpoint());
FindCriteria findCriteria = new FindCriteria(typeof(ImyServiceInterface));

findCriteria.Duration = TimeSpan.FromSeconds(5);

FindResponse findResponse = discoveryClient.Find(findCriteria);

MessageBox.Show(string.Format("Endpoints found: {0}", findResponse.Endpoints.Count));
это работает, но только для конечной точки с интерфейсом ImyServiceInterface. Я могу выполнить 4 сканирования и получить 4 конечные точки, но это звучит как ОЧЕНЬ неправильный способ сделать это (и для завершения требуется в 4 раза больше обычного времени).

Как я могу это сделать? Создать еще одну конечную точку и дать ему функцию для связи со всеми остальными конечными точками? Или я все делаю неправильно и просто трачу время?

Подробнее здесь: https://stackoverflow.com/questions/242 ... racts-type

Вернуться в «C#»