Моя служба имеет 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));
Как я могу это сделать? Создать еще одну конечную точку и дать ему функцию для связи со всеми остальными конечными точками? Или я все делаю неправильно и просто трачу время?
Подробнее здесь: https://stackoverflow.com/questions/242 ... racts-type