public virtual void InitializeDiscovery(
ApplicationConfiguration configuration,
StringCollection discoveryUrls)
{
// create the binding factory.
BindingFactory bindingFactory = BindingFactory.Create(configuration, configuration.CreateMessageContext());
EndpointConfiguration endpointConfiguration = EndpointConfiguration.Create(configuration);
foreach (string discoveryUrl in discoveryUrls)
{
// parse discovery url.
Uri url = Utils.ParseUri(discoveryUrl);
if (url == null)
{
continue;
}
// create endpoint.
if (url.PathAndQuery.EndsWith("/discovery"))
{
Binding binding = bindingFactory.Create(url.Scheme, endpointConfiguration);
this.AddServiceEndpoint(typeof(IDiscoveryEndpoint), binding, url, url);
}
}
}
#endregion