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); } }
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); } }