Hi I'm looking for a WCF example which include service discovery and a way to discover/detect the binding type, I think it could be done using metadata exchange .
Asked
Active
Viewed 764 times
1 Answers
3
I just found the correct answer, here are the steps to complete the task:
- Add a mex endpoint.
- Add metadata exachange behaviour.
- in the client application use discovery with metadata criteria.
Discovery with metdatada criteria
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;

Serve Laurijssen
- 9,266
- 5
- 45
- 98

Jose Manuel Ojeda
- 328
- 2
- 15