File: System\ServiceModel\Configuration\ProtocolMappingSection.cs
Project: ndp\cdf\src\WCF\ServiceModel\System.ServiceModel.csproj (System.ServiceModel)
//------------------------------------------------------------------------------
// Copyright (c) Microsoft Corporation.  All rights reserved.
//------------------------------------------------------------------------------
 
namespace System.ServiceModel.Configuration
{
    using System.Configuration;
    using System.Runtime;
    using System.Security;
 
    public sealed partial class ProtocolMappingSection : ConfigurationSection
    {
        public ProtocolMappingSection()
        {
        }
 
        [ConfigurationProperty(ConfigurationStrings.DefaultCollectionName, Options = ConfigurationPropertyOptions.IsDefaultCollection)]
        public ProtocolMappingElementCollection ProtocolMappingCollection
        {
            get { return (ProtocolMappingElementCollection) base[ConfigurationStrings.DefaultCollectionName]; }
        }
 
        protected override void InitializeDefault()
        {
            this.ProtocolMappingCollection.Add(new ProtocolMappingElement("http", "basicHttpBinding", ConfigurationStrings.DefaultName));
            this.ProtocolMappingCollection.Add(new ProtocolMappingElement("net.tcp", "netTcpBinding", ConfigurationStrings.DefaultName));
            this.ProtocolMappingCollection.Add(new ProtocolMappingElement("net.pipe", "netNamedPipeBinding", ConfigurationStrings.DefaultName));
            this.ProtocolMappingCollection.Add(new ProtocolMappingElement("net.msmq", "netMsmqBinding", ConfigurationStrings.DefaultName));
        }
 
        internal static ProtocolMappingSection GetSection()
        {
            return (ProtocolMappingSection)ConfigurationHelpers.GetSection(ConfigurationStrings.ProtocolMappingSectionPath);
        }
 
        [Fx.Tag.SecurityNote(Critical = "Calls Critical method UnsafeGetSection which elevates in order to fetch config."
            + "Caller must guard access to resultant config section.")]
        [SecurityCritical]
        internal static ProtocolMappingSection UnsafeGetSection()
        {
            return (ProtocolMappingSection)ConfigurationHelpers.UnsafeGetSection(ConfigurationStrings.ProtocolMappingSectionPath);
        }
    }
}