Xamarin Public Jenkins (auto-signing) e79aa3c0ed Imported Upstream version 4.6.0.125
Former-commit-id: a2155e9bd80020e49e72e86c44da02a8ac0e57a4
2016-08-03 10:59:49 +00:00

40 lines
1.6 KiB
C#

//----------------------------------------------------------------
// 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<ChannelEndpointElement>
{
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);
}
}
}