/// <summary> /// Returns the domain names which the server is configured to use. /// </summary> /// <returns>A list of domain names.</returns> public IList <string> GetServerDomainNames() { StringCollection baseAddresses = new StringCollection(); if (this.ServerConfiguration != null) { if (this.ServerConfiguration.BaseAddresses != null) { baseAddresses.AddRange(this.ServerConfiguration.BaseAddresses); } if (this.ServerConfiguration.AlternateBaseAddresses != null) { baseAddresses.AddRange(this.ServerConfiguration.AlternateBaseAddresses); } } if (this.DiscoveryServerConfiguration != null) { if (this.DiscoveryServerConfiguration.BaseAddresses != null) { baseAddresses.AddRange(this.DiscoveryServerConfiguration.BaseAddresses); } if (this.DiscoveryServerConfiguration.AlternateBaseAddresses != null) { baseAddresses.AddRange(this.DiscoveryServerConfiguration.AlternateBaseAddresses); } } var domainNames = new List <string>(); for (int ii = 0; ii < baseAddresses.Count; ii++) { Uri url = Utils.ParseUri(baseAddresses[ii]); if (url == null) { continue; } string domainName = url.DnsSafeHost; if (url.HostNameType == UriHostNameType.Dns) { domainName = Utils.ReplaceLocalhost(domainName); } else // IPv4/IPv6 address { domainName = Utils.NormalizedIPAddress(domainName); } if (!Utils.FindStringIgnoreCase(domainNames, domainName)) { domainNames.Add(domainName); } } return(domainNames); }
/// <summary> /// Returns the domain names which the server is configured to use. /// </summary> /// <returns>A list of domain names.</returns> public IList <string> GetServerDomainNames() { List <string> domainNames = new List <string>(); StringCollection baseAddresses = new StringCollection(); if (this.ServerConfiguration != null) { if (this.ServerConfiguration.BaseAddresses != null) { baseAddresses.AddRange(this.ServerConfiguration.BaseAddresses); } if (this.ServerConfiguration.AlternateBaseAddresses != null) { baseAddresses.AddRange(this.ServerConfiguration.AlternateBaseAddresses); } } if (this.DiscoveryServerConfiguration != null) { if (this.DiscoveryServerConfiguration.BaseAddresses != null) { baseAddresses.AddRange(this.DiscoveryServerConfiguration.BaseAddresses); } if (this.DiscoveryServerConfiguration.AlternateBaseAddresses != null) { baseAddresses.AddRange(this.DiscoveryServerConfiguration.AlternateBaseAddresses); } } for (int ii = 0; ii < baseAddresses.Count; ii++) { Uri url = Utils.ParseUri(baseAddresses[ii]); if (url == null) { continue; } string domainName = url.DnsSafeHost; if (String.Compare(domainName, "localhost", StringComparison.OrdinalIgnoreCase) == 0) { domainName = Utils.GetHostName(); } if (!Utils.FindStringIgnoreCase(domainNames, domainName)) { domainNames.Add(domainName); } } return(domainNames); }