Обнаружение службы WCF с метаданными

#wcf #service #wcf-binding #discovery

#wcf #Обслуживание #wcf-привязка #обнаружение

Вопрос:

Привет, я ищу пример WCF, который включает обнаружение службы и способ обнаружения типа привязки, я думаю, это можно было бы сделать с помощью metadata exchange.

Ответ №1:

Я только что нашел правильный ответ, вот шаги для выполнения задачи:

  1. Добавьте конечную точку mex.
  2. Добавление метаданных приводит к изменению поведения.
  3. в клиентском приложении используйте обнаружение с критериями метаданных.

Обнаружение с критериями 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;