2 using System.Collections.Generic;
3 using System.Collections.ObjectModel;
4 using System.ServiceModel;
5 using System.ServiceModel.Channels;
6 using System.ServiceModel.Description;
7 using System.ServiceModel.Dispatcher;
9 namespace System.ServiceModel.Discovery
11 public class DynamicEndpoint : ServiceEndpoint
13 public DynamicEndpoint (ContractDescription contract, Binding binding)
14 : base (contract, CreateBinding (binding), new EndpointAddress ("http://schemas.microsoft.com/discovery/dynamic"))
17 throw new ArgumentNullException ("binding");
18 DiscoveryEndpointProvider = DiscoveryEndpointProvider.CreateDefault ();
19 FindCriteria = new FindCriteria (contract.ContractType);
21 IsSystemEndpoint = true;
24 static CustomBinding CreateBinding (Binding source)
26 var bec = source.CreateBindingElements ();
27 bec.Insert (0, new DiscoveryClientBindingElement ());
28 return new CustomBinding (bec);
31 public DiscoveryEndpointProvider DiscoveryEndpointProvider { get; set; }
32 public FindCriteria FindCriteria { get; set; }