#wcf #service #wcf-binding #discovery
#wcf #Обслуживание #wcf-привязка #обнаружение
Вопрос:
Привет, я ищу пример WCF, который включает обнаружение службы и способ обнаружения типа привязки, я думаю, это можно было бы сделать с помощью metadata exchange.
Ответ №1:
Я только что нашел правильный ответ, вот шаги для выполнения задачи:
- Добавьте конечную точку mex.
- Добавление метаданных приводит к изменению поведения.
- в клиентском приложении используйте обнаружение с критериями метаданных.
Обнаружение с критериями metdatada
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;