Opc.Ua.ServiceHost.InitializeDiscovery C# (CSharp) Method

InitializeDiscovery() public method

Adds the discovery url to the hosts.
public InitializeDiscovery ( ApplicationConfiguration configuration, StringCollection discoveryUrls ) : void
configuration ApplicationConfiguration The configuration.
discoveryUrls StringCollection The discovery urls.
return void
        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