Я только что нашел правильный ответ, вот шаги для выполнения задачи:
- Добавить конечную точку мекс.
- Добавить поведение обмена метаданными.
- в клиентском приложении используйте обнаружение с критериями метаданных.
обнаружение с критериями метаданных
DiscoveryClient discoveryClient = new DiscoveryClient(new UdpDiscoveryEndpoint());
FindCriteria findCriteria = FindCriteria.CreateMetadataExchangeEndpointCriteria (ContractType);
findCriteria.Duration = TimeSpan.FromSeconds(15);
findCriteria.MaxResults = 1;// MaxResults;
FindResponse result = discoveryClient.Find(findCriteria);
discoveryClient.Close();
ServiceEndpointCollection eps = MetadataResolver.Resolve(ContractType, result.Endpoints[0].Address);
return eps[0].Binding;