void ApplyConfiguration(string configurationName)
        {
            NetHttpBindingCollectionElement section = NetHttpBindingCollectionElement.GetBindingCollectionElement();
            NetHttpBindingElement           element = section.Bindings[configurationName];

            if (element == null)
            {
                throw FxTrace.Exception.AsError(new ConfigurationErrorsException(SR.GetString(
                                                                                     SR.ConfigInvalidBindingConfigurationName,
                                                                                     configurationName,
                                                                                     ConfigurationStrings.NetHttpBindingCollectionElementName)));
            }
            else
            {
                element.ApplyConfiguration(this);
            }
        }
Пример #2
0
        public void BindingSection_WithNetHttpBindingTest()
        {
            string   expectedName = "netHttpBindingConfig";
            long     expectedMaxReceivedMessageSize = 1073741824;
            long     expectedMaxBufferSize          = 1073741824;
            int      expectedMaxDepth                  = 2147483647;
            TimeSpan expectedReceiveTimeout            = TimeSpan.FromMinutes(10);
            BasicHttpSecurityMode expectedSecurityMode = BasicHttpSecurityMode.TransportWithMessageCredential;

            string xml = $@"
<configuration>
    <configSections>
        <sectionGroup name=""system.serviceModel"" type=""CoreWCF.Configuration.ServiceModelSectionGroup, CoreWCF.ConfigurationManager"">
            <section name=""bindings"" type=""CoreWCF.Configuration.BindingsSection, CoreWCF.ConfigurationManager"" />
        </sectionGroup>         
    </configSections>  
    <system.serviceModel>         
        <bindings>
            <netHttpBinding>
                <binding name=""{expectedName}""
                         maxReceivedMessageSize=""{expectedMaxReceivedMessageSize}""
                         maxBufferSize=""{expectedMaxBufferSize}""
                         receiveTimeout=""{expectedReceiveTimeout}"">
                    <security mode=""{expectedSecurityMode}""/>      
                    <readerQuotas maxDepth=""{expectedMaxDepth}"" />
                </binding>
            </netHttpBinding>           
        </bindings>                             
    </system.serviceModel>
</configuration>";

            using (var fs = TemporaryFileStream.Create(xml))
            {
                ServiceModelSectionGroup section = GetSectionFromXml(fs);

                NetHttpBindingElement actualBinding = section.Bindings.NetHttpBinding.Bindings.Cast <NetHttpBindingElement>().First();

                Assert.Equal(expectedName, actualBinding.Name);
                Assert.Equal(expectedMaxReceivedMessageSize, actualBinding.MaxReceivedMessageSize);
                Assert.Equal(expectedMaxBufferSize, actualBinding.MaxBufferSize);
                Assert.Equal(expectedReceiveTimeout, actualBinding.ReceiveTimeout);
                Assert.Equal(expectedSecurityMode, actualBinding.Security.Mode);
                Assert.Equal(expectedMaxDepth, actualBinding.ReaderQuotas.MaxDepth);
            }
        }