//---------------------------------------------------------------- // Copyright (c) Microsoft Corporation. All rights reserved. //---------------------------------------------------------------- namespace System.ServiceModel.Discovery.Configuration { using System.Configuration; using System.Globalization; using System.ServiceModel.Configuration; [ConfigurationCollection(typeof(ChannelEndpointElement), AddItemName = ConfigurationStrings.Endpoint)] public sealed class AnnouncementChannelEndpointElementCollection : ServiceModelConfigurationElementCollection { public AnnouncementChannelEndpointElementCollection() { this.AddElementName = ConfigurationStrings.Endpoint; } protected override object GetElementKey(ConfigurationElement element) { if (element == null) { throw FxTrace.Exception.ArgumentNull("element"); } ChannelEndpointElement channelEndpointElement = (ChannelEndpointElement)element; string address = channelEndpointElement.Address == null ? "" : channelEndpointElement.Address.ToString().ToUpperInvariant(); return string.Format(CultureInfo.InvariantCulture, "kind:{0};endpointConfiguration:{1};address:{2};bindingConfiguration:{3};binding:{4};", channelEndpointElement.Kind, channelEndpointElement.EndpointConfiguration, address, channelEndpointElement.BindingConfiguration, channelEndpointElement.Binding); } } }